Skip to content

Commit d97bf92

Browse files
committed
Fix for LP v2 not having DetailMessageBuilder.
1 parent 205fb22 commit d97bf92

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

common/src/main/java/dev/lavalink/youtube/ClientInformation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package dev.lavalink.youtube;
22

3-
import com.sedmelluq.discord.lavaplayer.tools.exception.DetailMessageBuilder;
43
import dev.lavalink.youtube.clients.skeleton.Client;
4+
import dev.lavalink.youtube.polyfill.DetailMessageBuilder;
55

66
public class ClientInformation extends Exception {
77
private ClientInformation(String message) {
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package dev.lavalink.youtube.polyfill;
2+
3+
import java.util.function.IntPredicate;
4+
5+
public class DetailMessageBuilder {
6+
public final StringBuilder builder;
7+
8+
public DetailMessageBuilder() {
9+
this.builder = new StringBuilder();
10+
}
11+
12+
public void appendHeader(String header) {
13+
builder.append(header);
14+
}
15+
16+
public void appendField(String name, Object value) {
17+
builder.append("\n ").append(name).append(": ");
18+
19+
if (value == null) {
20+
builder.append("<unspecified>");
21+
} else {
22+
builder.append(value.toString());
23+
}
24+
}
25+
26+
public void appendField(String name, int value) {
27+
appendField(name, String.valueOf(value));
28+
}
29+
30+
public <T> void appendArray(String label, boolean alwaysPrint, T[] array, IntPredicate check) {
31+
boolean started = false;
32+
33+
for (int i = 0; i < array.length; i++) {
34+
if (check.test(i)) {
35+
if (!started) {
36+
builder.append("\n ").append(label).append(": ");
37+
started = true;
38+
}
39+
40+
builder.append(array[i]).append(", ");
41+
}
42+
}
43+
44+
if (started) {
45+
builder.setLength(builder.length() - 2);
46+
} else if (alwaysPrint) {
47+
appendField(label, "NONE");
48+
}
49+
}
50+
51+
@Override
52+
public String toString() {
53+
return builder.toString();
54+
}
55+
}

0 commit comments

Comments
 (0)