aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/com/pinapelz/query
diff options
context:
space:
mode:
authorPinapelz <yukais6@uci.edu>2023-04-29 20:34:18 -0700
committerPinapelz <yukais6@uci.edu>2023-04-29 20:34:18 -0700
commit80239b6b63197519691153839f56e86fe99e18cb (patch)
tree32be637b71369a7411e16104a63efc48771ef1fd /src/main/java/com/pinapelz/query
parent9684c18084458c26569fad4574657eaca046d2ec (diff)
Updated code to use enums for certain constants
Diffstat (limited to 'src/main/java/com/pinapelz/query')
-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
6 files changed, 231 insertions, 8 deletions
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;
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage