aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/pina/Holodex.java19
-rw-r--r--src/main/java/com/pina/datatypes/CommentSearchResult.java3
-rw-r--r--src/main/java/com/pina/datatypes/Paginated.java3
-rw-r--r--src/main/java/com/pina/datatypes/SimpleCommentVideo.java5
-rw-r--r--src/main/java/com/pina/datatypes/VideoSearchResult.java3
-rw-r--r--src/main/java/com/pina/query/CommentSearchQueryBuilder.java4
-rw-r--r--src/main/java/com/pina/query/VideoSearchQueryBuilder.java4
7 files changed, 40 insertions, 1 deletions
diff --git a/src/main/java/com/pina/Holodex.java b/src/main/java/com/pina/Holodex.java
index 2b211e0..eca6147 100644
--- a/src/main/java/com/pina/Holodex.java
+++ b/src/main/java/com/pina/Holodex.java
@@ -188,6 +188,15 @@ public class Holodex {
return executeCall(call);
}
+ /**
+ * Sends a POST request to search for videos matching the VideoSearchQueryBuilder attributes
+ * If the query is paginated, the response will be a VideoSearchResult object
+ * If the query is not paginated, the response will be a list of SimpleVideo objects
+ * @param query
+ * @return
+ * @throws HolodexException
+ */
+
public Object searchVideo(VideoSearchQueryBuilder query) throws HolodexException {
Map<String, Object> payload = toMap(query);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
@@ -201,6 +210,14 @@ public class Holodex {
}
+ /**
+ * Sends a POST request to search for comments matching the CommentSearchQueryBuilder attributes
+ * If the query is paginated, the response will be a CommentSearchResult object
+ * If the query is not paginated, the response will be a list of SimpleCommentVideo objects
+ * @param query
+ * @return
+ * @throws HolodexException
+ */
public Object searchComment(CommentSearchQueryBuilder query) throws HolodexException{
Map<String, Object> payload = toMap(query);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
@@ -213,7 +230,7 @@ public class Holodex {
return executeCall(call);
}
- public static Map<String, Object> toMap(Object obj) throws HolodexException {
+ private static Map<String, Object> toMap(Object obj) throws HolodexException {
Map<String, Object> map = new HashMap<>();
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
diff --git a/src/main/java/com/pina/datatypes/CommentSearchResult.java b/src/main/java/com/pina/datatypes/CommentSearchResult.java
index a68b162..b85d3b3 100644
--- a/src/main/java/com/pina/datatypes/CommentSearchResult.java
+++ b/src/main/java/com/pina/datatypes/CommentSearchResult.java
@@ -2,6 +2,9 @@ package com.pina.datatypes;
import java.util.List;
+/**
+ * Result object for a paginated comment search
+ */
public class CommentSearchResult {
public int total;
public List<SimpleCommentVideo> items;
diff --git a/src/main/java/com/pina/datatypes/Paginated.java b/src/main/java/com/pina/datatypes/Paginated.java
index 8095daf..428cf52 100644
--- a/src/main/java/com/pina/datatypes/Paginated.java
+++ b/src/main/java/com/pina/datatypes/Paginated.java
@@ -5,6 +5,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+/**
+ * Annotation for paginated queries
+ */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Paginated {
diff --git a/src/main/java/com/pina/datatypes/SimpleCommentVideo.java b/src/main/java/com/pina/datatypes/SimpleCommentVideo.java
index 7a7c9d4..715eed8 100644
--- a/src/main/java/com/pina/datatypes/SimpleCommentVideo.java
+++ b/src/main/java/com/pina/datatypes/SimpleCommentVideo.java
@@ -2,6 +2,11 @@ package com.pina.datatypes;
import java.util.List;
+/**
+ * The same as SimpleVideo, but with comments
+ * @see SimpleVideo
+ *
+ */
public class SimpleCommentVideo {
public String id;
public String title;
diff --git a/src/main/java/com/pina/datatypes/VideoSearchResult.java b/src/main/java/com/pina/datatypes/VideoSearchResult.java
index 4a9996f..4525bc9 100644
--- a/src/main/java/com/pina/datatypes/VideoSearchResult.java
+++ b/src/main/java/com/pina/datatypes/VideoSearchResult.java
@@ -2,6 +2,9 @@ package com.pina.datatypes;
import java.util.List;
+/**
+ * Result object for a paginated video search
+ */
public class VideoSearchResult {
public int total;
public List<SimpleVideo> items;
diff --git a/src/main/java/com/pina/query/CommentSearchQueryBuilder.java b/src/main/java/com/pina/query/CommentSearchQueryBuilder.java
index a251a54..7e0f3f8 100644
--- a/src/main/java/com/pina/query/CommentSearchQueryBuilder.java
+++ b/src/main/java/com/pina/query/CommentSearchQueryBuilder.java
@@ -3,6 +3,10 @@ package com.pina.query;
import java.util.ArrayList;
import java.util.List;
+/**
+ * Builder for a comment search query
+ * Default values set in constructor
+ */
public class CommentSearchQueryBuilder {
private String sort;
private List<String> lang;
diff --git a/src/main/java/com/pina/query/VideoSearchQueryBuilder.java b/src/main/java/com/pina/query/VideoSearchQueryBuilder.java
index c4a82be..476994e 100644
--- a/src/main/java/com/pina/query/VideoSearchQueryBuilder.java
+++ b/src/main/java/com/pina/query/VideoSearchQueryBuilder.java
@@ -3,6 +3,10 @@ package com.pina.query;
import java.util.ArrayList;
import java.util.List;
+/**
+ * Builder for a video search query
+ * Default values set in constructor
+ */
public class VideoSearchQueryBuilder {
private String sort;
private List<String> lang;
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage