aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md7
-rw-r--r--pom.xml2
-rw-r--r--src/main/java/App.java6
-rw-r--r--src/main/java/com/pinapelz/query/ChannelQueryBuilder.java36
-rw-r--r--src/main/java/com/pinapelz/query/CommentSearchQueryBuilder.java47
-rw-r--r--src/main/java/com/pinapelz/query/VideoByVideoIdQueryBuilder.java20
-rw-r--r--src/main/java/com/pinapelz/query/VideoQueryBuilder.java54
-rw-r--r--src/main/java/com/pinapelz/query/VideoSearchQueryBuilder.java42
-rw-r--r--src/main/java/com/pinapelz/query/VideosByChannelIDQueryBuilder.java40
-rw-r--r--src/main/java/com/pinapelz/vtuber/ExtraData.java33
-rw-r--r--src/main/java/com/pinapelz/vtuber/Language.java30
-rw-r--r--src/main/java/com/pinapelz/vtuber/Order.java16
-rw-r--r--src/main/java/com/pinapelz/vtuber/Organization.java163
-rw-r--r--src/main/java/com/pinapelz/vtuber/Sort.java20
-rw-r--r--src/main/java/com/pinapelz/vtuber/Status.java24
-rw-r--r--src/main/java/com/pinapelz/vtuber/Type.java16
16 files changed, 430 insertions, 126 deletions
diff --git a/README.md b/README.md
index bd2e1ac..b0ad51d 100644
--- a/README.md
+++ b/README.md
@@ -36,13 +36,15 @@ public class App {
channelQuery.setLimit(75);
List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
- Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang(Language.ENGLISH));
+ Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang(
+ List.of(Language.ENGLISH, Language.JAPANESE)));
+
System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
" on " + anotherVideo.published_at);
// SEARCHING THROUGH VIDEOS AND COMMENTS
Object srv = holodex.searchVideo(new VideoSearchQueryBuilder().setOrg(List.of("Nijisanji")).setSort(Sort.NEWEST).
- setTarget(List.of(Type.STREAM)).setPaginated(false).setLimit(10).setOffset(0)
+ setTarget(Type.STREAM).setPaginated(false).setLimit(10).setOffset(0)
.setTopic(List.of("singing"))
);
System.out.println("--- Search Results ---");
@@ -67,7 +69,6 @@ public class App {
}
}
-
```
## Download
diff --git a/pom.xml b/pom.xml
index deec17b..5c8d7a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.pinapelz</groupId>
<artifactId>jholodex</artifactId>
- <version>1.1</version>
+ <version>1.2</version>
<name>JHolodex</name>
<url>http://maven.apache.org</url>
<properties>
diff --git a/src/main/java/App.java b/src/main/java/App.java
index 65beef4..e55b7a7 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -26,13 +26,15 @@ public class App {
channelQuery.setLimit(75);
List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
- Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang(Language.ENGLISH));
+ Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang(
+ List.of(Language.ENGLISH, Language.JAPANESE)));
+
System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
" on " + anotherVideo.published_at);
// SEARCHING THROUGH VIDEOS AND COMMENTS
Object srv = holodex.searchVideo(new VideoSearchQueryBuilder().setOrg(List.of("Nijisanji")).setSort(Sort.NEWEST).
- setTarget(List.of(Type.STREAM)).setPaginated(false).setLimit(10).setOffset(0)
+ setTarget(Type.STREAM).setPaginated(false).setLimit(10).setOffset(0)
.setTopic(List.of("singing"))
);
System.out.println("--- Search Results ---");
diff --git a/src/main/java/com/pinapelz/query/ChannelQueryBuilder.java b/src/main/java/com/pinapelz/query/ChannelQueryBuilder.java
index 24d3c91..329427c 100644
--- a/src/main/java/com/pinapelz/query/ChannelQueryBuilder.java
+++ b/src/main/java/com/pinapelz/query/ChannelQueryBuilder.java
@@ -1,5 +1,12 @@
package com.pinapelz.query;
+import com.pinapelz.vtuber.Language;
+import com.pinapelz.vtuber.Order;
+import com.pinapelz.vtuber.Organization;
+import com.pinapelz.vtuber.Sort;
+
+import java.util.List;
+
/**
* Query builder for getting a list of Channels matching the given parameters
*/
@@ -48,6 +55,20 @@ public class ChannelQueryBuilder {
return this;
}
+ public ChannelQueryBuilder setLang(Language lang) {
+ this.lang = lang.toString();
+ return this;
+ }
+
+ public ChannelQueryBuilder setLang(List<Language> language) {
+ String[] languages = new String[language.size()];
+ for (int i = 0; i < language.size(); i++) {
+ languages[i] = language.get(i).toString();
+ }
+ this.lang = String.join(",", languages);
+ return this;
+ }
+
public String getOrder() {
return order;
}
@@ -57,6 +78,11 @@ public class ChannelQueryBuilder {
return this;
}
+ public ChannelQueryBuilder setOrder(Order order){
+ this.order = order.toString();
+ return this;
+ }
+
public String getOrg() {
return org;
}
@@ -66,6 +92,11 @@ public class ChannelQueryBuilder {
return this;
}
+ public ChannelQueryBuilder setOrg(Organization org) {
+ this.org = org.toString();
+ return this;
+ }
+
public String getSort() {
return sort;
}
@@ -75,5 +106,10 @@ public class ChannelQueryBuilder {
return this;
}
+ public ChannelQueryBuilder setSort(Sort sort){
+ this.sort = sort.toString();
+ return this;
+ }
+
}
diff --git a/src/main/java/com/pinapelz/query/CommentSearchQueryBuilder.java b/src/main/java/com/pinapelz/query/CommentSearchQueryBuilder.java
index eeb83d5..4e0020b 100644
--- a/src/main/java/com/pinapelz/query/CommentSearchQueryBuilder.java
+++ b/src/main/java/com/pinapelz/query/CommentSearchQueryBuilder.java
@@ -1,5 +1,9 @@
package com.pinapelz.query;
+import com.pinapelz.vtuber.Language;
+import com.pinapelz.vtuber.Sort;
+import com.pinapelz.vtuber.Type;
+
import java.util.ArrayList;
import java.util.List;
@@ -9,7 +13,6 @@ import java.util.List;
*/
public class CommentSearchQueryBuilder {
private String sort;
- private List<String> lang;
private List<String> target;
private List<String> conditions;
private List<String> topic;
@@ -19,6 +22,7 @@ public class CommentSearchQueryBuilder {
private boolean paginated;
private int offset;
private int limit;
+ private List<String> lang;
public CommentSearchQueryBuilder(){
this.sort = "newest";
@@ -42,11 +46,30 @@ public class CommentSearchQueryBuilder {
return this;
}
+ public CommentSearchQueryBuilder setSort(Sort sort) {
+ this.sort = sort.toString();
+ return this;
+ }
+
public List<String> getLang() {
return lang;
}
- public CommentSearchQueryBuilder setLang(List<String> lang) {
+ public CommentSearchQueryBuilder setLang(String lang) {
+ this.lang = List.of(lang);
+ return this;
+ }
+
+ public CommentSearchQueryBuilder setLang(Language lang) {
+ this.lang = List.of(lang.toString());
+ return this;
+ }
+
+ public CommentSearchQueryBuilder setLang(Language[] language) {
+ List<String> lang = new ArrayList<String>();
+ for (Language l : language) {
+ lang.add(l.toString());
+ }
this.lang = lang;
return this;
}
@@ -55,11 +78,27 @@ public class CommentSearchQueryBuilder {
return target;
}
- public CommentSearchQueryBuilder setTarget(List<String> target) {
- this.target = target;
+ public CommentSearchQueryBuilder setTarget(String target) {
+ this.target = List.of(target);
+ return this;
+ }
+
+ public CommentSearchQueryBuilder setTarget(Type target) {
+ this.target = List.of(target.toString());
return this;
}
+ public CommentSearchQueryBuilder setTarget(List<Type> target) {
+ List<String> targets = new ArrayList<String>();
+ for (Type t : target) {
+ targets.add(t.toString());
+ }
+ this.target = targets;
+ return this;
+ }
+
+
+
public List<String> getConditions() {
return conditions;
}
diff --git a/src/main/java/com/pinapelz/query/VideoByVideoIdQueryBuilder.java b/src/main/java/com/pinapelz/query/VideoByVideoIdQueryBuilder.java
index 7348683..6729916 100644
--- a/src/main/java/com/pinapelz/query/VideoByVideoIdQueryBuilder.java
+++ b/src/main/java/com/pinapelz/query/VideoByVideoIdQueryBuilder.java
@@ -1,5 +1,10 @@
package com.pinapelz.query;
+import com.pinapelz.datatypes.Video;
+import com.pinapelz.vtuber.Language;
+
+import java.util.List;
+
/**
* Query builder for getting a video by video id
*/
@@ -21,11 +26,26 @@ public class VideoByVideoIdQueryBuilder {
return lang;
}
+
public VideoByVideoIdQueryBuilder setLang(String lang) {
this.lang = lang;
return this;
}
+ public VideoByVideoIdQueryBuilder setLang(Language lang) {
+ this.lang = lang.toString();
+ return this;
+ }
+
+ public VideoByVideoIdQueryBuilder setLang(List<Language> language) {
+ String[] languages = new String[language.size()];
+ for (int i = 0; i < language.size(); i++) {
+ languages[i] = language.get(i).toString();
+ }
+ this.lang = String.join(",", languages);
+ return this;
+ }
+
public String getC() {
return c;
}
diff --git a/src/main/java/com/pinapelz/query/VideoQueryBuilder.java b/src/main/java/com/pinapelz/query/VideoQueryBuilder.java
index b7072fc..c8db237 100644
--- a/src/main/java/com/pinapelz/query/VideoQueryBuilder.java
+++ b/src/main/java/com/pinapelz/query/VideoQueryBuilder.java
@@ -1,5 +1,10 @@
package com.pinapelz.query;
+import com.pinapelz.datatypes.Video;
+import com.pinapelz.vtuber.*;
+
+import java.util.List;
+
/**
* Query builder for getting a set of videos matching the given parameters
*/
@@ -35,11 +40,40 @@ public class VideoQueryBuilder {
return this;
}
+ public VideoQueryBuilder setInclude(ExtraData include) {
+ this.include = include.toString();
+ return this;
+ }
+
+ public VideoQueryBuilder setInclude(List<ExtraData> include){
+ String[] includeStrings = new String[include.size()];
+ for (int i = 0; i < include.size(); i++) {
+ includeStrings[i] = include.get(i).toString();
+ }
+ this.include = String.join(",", includeStrings);
+ return this;
+ }
+
public VideoQueryBuilder setLang(String lang) {
this.lang = lang;
return this;
}
+ public VideoQueryBuilder setLang(Language lang) {
+ this.lang = lang.toString();
+ return this;
+ }
+
+ public VideoQueryBuilder setLang(List<Language> lang) {
+ String[] langStrings = new String[lang.size()];
+ for (int i = 0; i < lang.size(); i++) {
+ langStrings[i] = lang.get(i).toString();
+ }
+ this.lang = String.join(",", langStrings);
+ return this;
+ }
+
+
public VideoQueryBuilder setLimit(Integer limit) {
this.limit = limit;
return this;
@@ -65,11 +99,21 @@ public class VideoQueryBuilder {
return this;
}
+ public VideoQueryBuilder setOrder(Order order) {
+ this.order = order.toString();
+ return this;
+ }
+
public VideoQueryBuilder setOrg(String org) {
this.org = org;
return this;
}
+ public VideoQueryBuilder setOrg(Organization org) {
+ this.org = org.toString();
+ return this;
+ }
+
public VideoQueryBuilder setPaginated(String paginated) {
this.paginated = paginated;
return this;
@@ -80,11 +124,21 @@ public class VideoQueryBuilder {
return this;
}
+ public VideoQueryBuilder setSort(Sort sort) {
+ this.sort = sort.toString();
+ return this;
+ }
+
public VideoQueryBuilder setStatus(String status) {
this.status = status;
return this;
}
+ public VideoQueryBuilder setStatus(Status status) {
+ this.status = status.toString();
+ return this;
+ }
+
public VideoQueryBuilder setTopic(String topic) {
this.topic = topic;
return this;
diff --git a/src/main/java/com/pinapelz/query/VideoSearchQueryBuilder.java b/src/main/java/com/pinapelz/query/VideoSearchQueryBuilder.java
index 5147d97..e982ac7 100644
--- a/src/main/java/com/pinapelz/query/VideoSearchQueryBuilder.java
+++ b/src/main/java/com/pinapelz/query/VideoSearchQueryBuilder.java
@@ -1,5 +1,9 @@
package com.pinapelz.query;
+import com.pinapelz.vtuber.Language;
+import com.pinapelz.vtuber.Sort;
+import com.pinapelz.vtuber.Type;
+
import java.util.ArrayList;
import java.util.List;
@@ -42,12 +46,27 @@ public class VideoSearchQueryBuilder {
return this;
}
+ public VideoSearchQueryBuilder setSort(Sort sort) {
+ this.sort = sort.toString();
+ return this;
+ }
+
public List<String> getLang() {
return lang;
}
- public VideoSearchQueryBuilder setLang(List<String> lang) {
- this.lang = lang;
+ public VideoSearchQueryBuilder setLang(String lang) {
+ this.lang = List.of(lang);
+ return this;
+ }
+
+ public VideoSearchQueryBuilder setLang(Language lang) {
+ this.lang = List.of(lang.toString());
+ return this;
+ }
+
+ public VideoSearchQueryBuilder setLang(List<String> language) {
+ this.lang = language;
return this;
}
@@ -55,11 +74,26 @@ public class VideoSearchQueryBuilder {
return target;
}
- public VideoSearchQueryBuilder setTarget(List<String> target) {
- this.target = target;
+ public VideoSearchQueryBuilder setTarget(String target) {
+ this.target = List.of(target);
+ return this;
+ }
+
+ public VideoSearchQueryBuilder setTarget(Type target) {
+ this.target = List.of(target.toString());
return this;
}
+ public VideoSearchQueryBuilder setTarget(List<Type> target) {
+ List<String> targets = new ArrayList<String>();
+ for (Type t : target) {
+ targets.add(t.toString());
+ }
+ this.target = targets;
+ return this;
+ }
+
+
public List<String> getConditions() {
return conditions;
}
diff --git a/src/main/java/com/pinapelz/query/VideosByChannelIDQueryBuilder.java b/src/main/java/com/pinapelz/query/VideosByChannelIDQueryBuilder.java
index 821df24..9047f1a 100644
--- a/src/main/java/com/pinapelz/query/VideosByChannelIDQueryBuilder.java
+++ b/src/main/java/com/pinapelz/query/VideosByChannelIDQueryBuilder.java
@@ -1,5 +1,10 @@
package com.pinapelz.query;
+import com.pinapelz.vtuber.ExtraData;
+import com.pinapelz.vtuber.Language;
+
+import java.util.List;
+
/**
* Query builder for getting videos by a given channel id
*/
@@ -27,11 +32,46 @@ public class VideosByChannelIDQueryBuilder {
return this;
}
+ public VideosByChannelIDQueryBuilder setInclude(String[] include) {
+ this.include = String.join(",", include);
+ return this;
+ }
+
+ public VideosByChannelIDQueryBuilder setInclude(ExtraData[] include) {
+ String[] includeStrings = new String[include.length];
+ for (int i = 0; i < include.length; i++) {
+ includeStrings[i] = include[i].toString();
+ }
+ this.include = String.join(",", includeStrings);
+ return this;
+ }
+
+ public VideosByChannelIDQueryBuilder setInclude(ExtraData include) {
+ this.include = include.toString();
+ return this;
+ }
+
+
+
public VideosByChannelIDQueryBuilder setLang(String lang) {
this.lang = lang;
return this;
}
+ public VideosByChannelIDQueryBuilder setLang(Language lang) {
+ this.lang = lang.toString();
+ return this;
+ }
+
+ public VideosByChannelIDQueryBuilder setLang(List<Language> lang){
+ String[] langStrings = new String[lang.size()];
+ for (int i = 0; i < lang.size(); i++) {
+ langStrings[i] = lang.get(i).toString();
+ }
+ this.lang = String.join(",", langStrings);
+ return this;
+ }
+
public VideosByChannelIDQueryBuilder setLimit(Integer limit) {
this.limit = limit;
return this;
diff --git a/src/main/java/com/pinapelz/vtuber/ExtraData.java b/src/main/java/com/pinapelz/vtuber/ExtraData.java
index 75d466d..c7d512a 100644
--- a/src/main/java/com/pinapelz/vtuber/ExtraData.java
+++ b/src/main/java/com/pinapelz/vtuber/ExtraData.java
@@ -1,13 +1,26 @@
package com.pinapelz.vtuber;
-public class ExtraData {
- public static final String CLIPS = "clips";
- public static final String REFERS = "refers";
- public static final String SOURCES = "sources";
- public static final String SIMULCASTS = "simulcasts";
- public static final String MENTIONS = "mentions";
- public static final String DESCRIPTION = "description";
- public static final String LIVE_INFO = "live_info";
- public static final String CHANNEL_STATS = "channel_stats";
- public static final String SONGS = "songs";
+public enum ExtraData {
+ CLIPS("clips"),
+ REFERS("refers"),
+ SOURCES("sources"),
+ SIMULCASTS("simulcasts"),
+ MENTIONS("mentions"),
+ DESCRIPTION("description"),
+ LIVE_INFO("live_info"),
+ CHANNEL_STATS("channel_stats"),
+ SONGS("songs");
+
+ private final String value;
+
+ ExtraData(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
+
+
}
diff --git a/src/main/java/com/pinapelz/vtuber/Language.java b/src/main/java/com/pinapelz/vtuber/Language.java
index 0fb6c20..a94dcb0 100644
--- a/src/main/java/com/pinapelz/vtuber/Language.java
+++ b/src/main/java/com/pinapelz/vtuber/Language.java
@@ -1,12 +1,24 @@
package com.pinapelz.vtuber;
-public class Language {
- public static final String ENGLISH = "en";
- public static final String JAPANESE = "jp";
- public static final String SPANISH = "es";
- public static final String CHINESE = "zh";
- public static final String KOREAN = "ko";
- public static final String FRENCH = "fr";
- public static final String INDONESIAN = "id";
- public static final String RUSSIAN = "ru";
+public enum Language {
+ ENGLISH("en"),
+ JAPANESE("jp"),
+ SPANISH("es"),
+ CHINESE("zh"),
+ KOREAN("ko"),
+ FRENCH("fr"),
+ INDONESIAN("id"),
+ RUSSIAN("ru");
+
+ private final String code;
+
+ Language(String code) {
+ this.code = code;
+ }
+
+ @Override
+ public String toString() {
+ return code;
+ }
+
}
diff --git a/src/main/java/com/pinapelz/vtuber/Order.java b/src/main/java/com/pinapelz/vtuber/Order.java
index 0dda236..97f3795 100644
--- a/src/main/java/com/pinapelz/vtuber/Order.java
+++ b/src/main/java/com/pinapelz/vtuber/Order.java
@@ -1,6 +1,16 @@
package com.pinapelz.vtuber;
-public class Order {
- public static final String ASC = "asc";
- public static final String DESC = "desc";
+public enum Order {
+ ASC("asc"),
+ DESC("desc");
+
+ private final String value;
+ Order(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
}
diff --git a/src/main/java/com/pinapelz/vtuber/Organization.java b/src/main/java/com/pinapelz/vtuber/Organization.java
index c1256f2..5c89db3 100644
--- a/src/main/java/com/pinapelz/vtuber/Organization.java
+++ b/src/main/java/com/pinapelz/vtuber/Organization.java
@@ -1,81 +1,92 @@
package com.pinapelz.vtuber;
-public class Organization {
- public static final String HOLOLIVE = "Hololive";
- public static final String NIJISANJI = "Nijisanji";
- public static final String INDEPENDENT = "Independent";
- public static final String DOT_LIVE = ".LIVE";
- public static final String INC_774 = "774inc";
- public static final String AOGIRI_HIGHSCHOOL = "Aogiri Highschool";
- public static final String ATELIER_LIVE = "Atelier Live";
- public static final String AXEL_V = "Axel-V";
- public static final String AETHERIA = "Aetheria";
- public static final String AKIO_AIR = "AkioAir";
- public static final String CHUKORARA = "Chukorara";
- public static final String CLOUD_HORIZON = "Cloud Horizon";
- public static final String CONNECTOPIA = "Connectopia";
- public static final String EILENE_FAMILY = "Eilene Family";
- public static final String EMOECHI = "Emoechi";
- public static final String EIEN_PROJECT = "Eien Project";
- public static final String GUILD_CQ = "Guild CQ";
- public static final String HOSHIMEGURI_GAKUEN = "Hoshimeguri Gakuen";
- public static final String HDOT_LIVE = "H.Live";
- public static final String IRIDORI = "Iridori";
- public static final String IDOL_CORP = "idol Corp";
- public static final String KAMITSUBAKI = "KAMITSUBAKI";
- public static final String KIZUNA_AI = "Kizuna AI Inc.";
- public static final String KAWAII_MUSIC = "KAWAII MUSIC";
- public static final String KEMOMIMI_REFLEX = "KEMOMIMI REFLE";
- public static final String KEMONO_FRIENDS = "Kemono Friends";
- public static final String LA_PECHE_PARTY = "La Peche Party";
- public static final String MARBL_S = "Marbl_s";
- public static final String MASQUERADE = "Masquerade";
- public static final String MAHA5 = "MAHA5";
- public static final String MYHOLO_TV = "MyHolo TV";
- public static final String MERIDIAN_PROJECT = "Meridian Project";
- public static final String NORI_PRO = "Nori Pro";
- public static final String NIJIGEN = "NIJIGEN";
- public static final String NEO_PORTE = "Neo-Porte";
- public static final String NKSHOUJO = "NKShouji";
- public static final String NANAHOLIC = "Nanaholic";
- public static final String PRODUCTION_KAWAII = "Production Kawaii";
- public static final String POLYGON = "Polygon";
- public static final String PHASE_CONNECT = "Phase Connect";
- public static final String PIXELA_PROJECT = "Pixela Project";
- public static final String PRISM = "PRISM";
- public static final String PROPRO = "ProPro";
- public static final String PINK_PUNK_PRO = "Pink Punk Pro";
- public static final String RIOT_MUSIC = "Riot Music";
- public static final String REACT = "ReAcT";
- public static final String REMEMORIES = "ReMemories";
- public static final String REVOLUTION_HEART = "Revolution Heart";
- public static final String RENEW_LIVE = "RenewLive";
- public static final String SLEEP_MONSTER = "Sleep Monster";
- public static final String SQUARE_LIVE = "Square Live";
- public static final String SNACKNILIVE = "Snacknili";
- public static final String SHINSOGUMI = "Shinosogumi";
- public static final String SHEERMUSICV = " SheerMusicV (シアーミュージックV) ";
- public static final String SEDAI_ONE = "Sedai One";
- public static final String TSUNDERIA = "Tsunderia";
- public static final String TWITCH_INDEPENDENTS = "Twitch Independents";
- public static final String THE_BOX = "The Box";
- public static final String UNREAL_NIGHT_GIRLS = "Unreal Night Girls";
- public static final String V_DIMENSION_DOT_CREATORS = "V Dimension.Creators";
- public static final String VOICE_ORE = "VOICE-ORE";
- public static final String V_AND_U = "V&U";
- public static final String VIVID = "ViViD";
- public static final String VOMS = "VOMS";
- public static final String VSHOJO = "VShojo";
- public static final String VSPO = "VSpo";
- public static final String VARIUM = "Varium";
- public static final String VREVERIE = "VReverie";
- public static final String VEE = "VEE";
- public static final String WACTOR = "WACTOR";
- public static final String WAK_ENTERTAINMENT = "WAK Entertainment";
- public static final String X_ENCOUNT = "X enc'ount";
- public static final String XTREME_DEEP_FIELD_PROJECT = "Xtreme Deep Field Project";
- public static final String YUNI_CREATE = "Yuni Create";
- public static final String YUMELIVE = "YumeLive";
+public enum Organization {
+ HOLOLIVE("Hololive"),
+ NIJISANJI("Nijisanji"),
+ INDEPENDENT("Independent"),
+ DOT_LIVE(".LIVE"),
+ INC_774("774inc"),
+ AOGIRI_HIGHSCHOOL("Aogiri Highschool"),
+ ATELIER_LIVE("Atelier Live"),
+ AXEL_V("Axel-V"),
+ AETHERIA("Aetheria"),
+ AKIO_AIR("AkioAir"),
+ CHUKORARA("Chukorara"),
+ CLOUD_HORIZON("Cloud Horizon"),
+ CONNECTOPIA("Connectopia"),
+ EILENE_FAMILY("Eilene Family"),
+ EMOECHI("Emoechi"),
+ EIEN_PROJECT("Eien Project"),
+ GUILD_CQ("Guild CQ"),
+ HOSHIMEGURI_GAKUEN("Hoshimeguri Gakuen"),
+ HDOT_LIVE("H.Live"),
+ IRIDORI("Iridori"),
+ IDOL_CORP("idol Corp"),
+ KAMITSUBAKI("KAMITSUBAKI"),
+ KIZUNA_AI("Kizuna AI Inc."),
+ KAWAII_MUSIC("KAWAII MUSIC"),
+ KEMOMIMI_REFLEX("KEMOMIMI REFLE"),
+ KEMONO_FRIENDS("Kemono Friends"),
+ LA_PECHE_PARTY("La Peche Party"),
+ MARBL_S("Marbl_s"),
+ MASQUERADE("Masquerade"),
+ MAHA5("MAHA5"),
+ MYHOLO_TV("MyHolo TV"),
+ MERIDIAN_PROJECT("Meridian Project"),
+ NORI_PRO("Nori Pro"),
+ NIJIGEN("NIJIGEN"),
+ NEO_PORTE("Neo-Porte"),
+ NKSHOUJO("NKShouji"),
+ NANAHOLIC("Nanaholic"),
+ PRODUCTION_KAWAII("Production Kawaii"),
+ POLYGON("Polygon"),
+ PHASE_CONNECT("Phase Connect"),
+ PIXELA_PROJECT("Pixela Project"),
+ PRISM("PRISM"),
+ PROPRO("ProPro"),
+ PINK_PUNK_PRO("Pink Punk Pro"),
+ RIOT_MUSIC("Riot Music"),
+ REACT("ReAcT"),
+ REMEMORIES("ReMemories"),
+ REVOLUTION_HEART("Revolution Heart"),
+ RENEW_LIVE("RenewLive"),
+ SLEEP_MONSTER("Sleep Monster"),
+ SQUARE_LIVE("Square Live"),
+ SNACKNILIVE("Snacknili"),
+ SHINSOGUMI("Shinosogumi"),
+ SHEERMUSICV("SheerMusicV (シアーミュージックV)"),
+ SEDAI_ONE("Sedai One"),
+ TSUNDERIA("Tsunderia"),
+ TWITCH_INDEPENDENTS("Twitch Independents"),
+ THE_BOX("The Box"),
+ UNREAL_NIGHT_GIRLS("Unreal Night Girls"),
+ V_DIMENSION_DOT_CREATORS("V Dimension.Creators"),
+ VOICE_ORE("VOICE-ORE"),
+ V_AND_U("V&U"),
+ VIVID("ViViD"),
+ VOMS("VOMS"),
+ VSHOJO("VShojo"),
+ VSPO("VSpo"),
+ VARIUM("Varium"),
+ VREVERIE("VReverie"),
+ VEE("VEE"),
+ WACTOR("WACTOR"),
+ WAK_ENTERTAINMENT("WAK Entertainment"),
+ X_ENCOUNT("X enc'ount"),
+ XTREME_DEEP_FIELD_PROJECT("Xtreme Deep Field Project"),
+ YUNI_CREATE("Yuni Create"),
+ YUMELIVE("YumeLive");
+
+ public final String name;
+
+ Organization(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
diff --git a/src/main/java/com/pinapelz/vtuber/Sort.java b/src/main/java/com/pinapelz/vtuber/Sort.java
index c58b94d..b0d8b4a 100644
--- a/src/main/java/com/pinapelz/vtuber/Sort.java
+++ b/src/main/java/com/pinapelz/vtuber/Sort.java
@@ -1,9 +1,19 @@
package com.pinapelz.vtuber;
-public class Sort {
- public static final String NEWEST = "newest";
- public static final String START_SCHEDULED = "start_scheduled";
- public static final String START_ACTUAL = "start_actual";
- public static final String END_ACTUAL = "end_actual";
+public enum Sort {
+ NEWEST("newest"),
+ START_SCHEDULED("start_scheduled"),
+ START_ACTUAL("start_actual"),
+ END_ACTUAL("end_actual");
+
+ private final String value;
+ Sort(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
}
diff --git a/src/main/java/com/pinapelz/vtuber/Status.java b/src/main/java/com/pinapelz/vtuber/Status.java
index a9b5876..530a725 100644
--- a/src/main/java/com/pinapelz/vtuber/Status.java
+++ b/src/main/java/com/pinapelz/vtuber/Status.java
@@ -1,9 +1,21 @@
package com.pinapelz.vtuber;
-public class Status {
- public static final String LIVE = "live";
- public static final String UPCOMING = "upcoming";
- public static final String PAST = "past";
- public static final String MISSING = "missing";
- public static final String ALL = "all";
+public enum Status {
+ LIVE("live"),
+ UPCOMING("upcoming"),
+ PAST("past"),
+ MISSING("missing"),
+ ALL("all");
+
+ private final String value;
+
+ Status(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
+
}
diff --git a/src/main/java/com/pinapelz/vtuber/Type.java b/src/main/java/com/pinapelz/vtuber/Type.java
index bb69ef4..0cbfdf8 100644
--- a/src/main/java/com/pinapelz/vtuber/Type.java
+++ b/src/main/java/com/pinapelz/vtuber/Type.java
@@ -1,6 +1,16 @@
package com.pinapelz.vtuber;
-public class Type {
- public static final String STREAM = "stream";
- public static final String CLIP = "clip";
+public enum Type {
+ STREAM("stream"),
+ CLIP("clip");
+
+ private final String value;
+ Type(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage