Skip to content

Commit df7d143

Browse files
committed
Make the Endpoint interface generic
1 parent d56636b commit df7d143

43 files changed

Lines changed: 55 additions & 46 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

library/src/main/java/me/proxer/library/api/Endpoint.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
/**
66
* Interface for all endpoints.
77
*
8+
* @param <T> The type this endpoint returns.
89
* @author Ruben Gees
910
*/
10-
public interface Endpoint {
11+
public interface Endpoint<T> {
1112

1213
/**
1314
* Builds the call for this endpoint.
1415
*/
1516
@NotNull
16-
ProxerCall build();
17+
ProxerCall<T> build();
1718
}

library/src/main/java/me/proxer/library/api/LimitEndpoint.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66
/**
77
* Interface for all endpoints which allow limiting.
88
*
9+
* @param <T> The type this endpoint returns.
910
* @author Ruben Gees
1011
*/
11-
public interface LimitEndpoint extends Endpoint {
12+
public interface LimitEndpoint<T> extends Endpoint<T> {
1213

1314
/**
1415
* Sets a limit on the amount of items to return. Must be one or higher.
1516
*/
1617
@NotNull
17-
LimitEndpoint limit(@Nullable Integer limit);
18+
LimitEndpoint<T> limit(@Nullable Integer limit);
1819
}

library/src/main/java/me/proxer/library/api/PagingEndpoint.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66
/**
77
* Interface for all pageable endpoints.
88
*
9+
* @param <T> The type this endpoint returns.
910
* @author Ruben Gees
1011
*/
11-
public interface PagingEndpoint extends Endpoint {
12+
public interface PagingEndpoint<T> extends Endpoint<T> {
1213

1314
/**
1415
* Sets the page to request. Must be zero or higher.
1516
*/
1617
@NotNull
17-
PagingEndpoint page(@Nullable Integer page);
18+
PagingEndpoint<T> page(@Nullable Integer page);
1819
}

library/src/main/java/me/proxer/library/api/anime/LinkEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* @author Ruben Gees
1414
*/
1515
@Accessors(fluent = true)
16-
public class LinkEndpoint implements Endpoint {
16+
public class LinkEndpoint implements Endpoint<String> {
1717

1818
private final InternalApi internalApi;
1919

library/src/main/java/me/proxer/library/api/anime/StreamsEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* @author Ruben Gees
1818
*/
1919
@Accessors(fluent = true)
20-
public class StreamsEndpoint implements Endpoint {
20+
public class StreamsEndpoint implements Endpoint<List<Stream>> {
2121

2222
private final InternalApi internalApi;
2323

library/src/main/java/me/proxer/library/api/info/CommentsEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
* @author Ruben Gees
2020
*/
2121
@Accessors(fluent = true)
22-
public final class CommentsEndpoint implements PagingEndpoint, LimitEndpoint {
22+
public final class CommentsEndpoint implements PagingEndpoint<List<Comment>>, LimitEndpoint<List<Comment>> {
2323

2424
private final InternalApi internalApi;
2525

library/src/main/java/me/proxer/library/api/info/EntryCoreEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* @author Ruben Gees
1616
*/
1717
@Accessors(fluent = true)
18-
public class EntryCoreEndpoint implements Endpoint {
18+
public class EntryCoreEndpoint implements Endpoint<EntryCore> {
1919

2020
private final InternalApi internalApi;
2121

library/src/main/java/me/proxer/library/api/info/EntryEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* @author Ruben Gees
1515
*/
1616
@Accessors(fluent = true)
17-
public class EntryEndpoint implements Endpoint {
17+
public class EntryEndpoint implements Endpoint<Entry> {
1818

1919
private final InternalApi internalApi;
2020

library/src/main/java/me/proxer/library/api/info/EpisodeInfoEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* @author Ruben Gees
1717
*/
1818
@Accessors(fluent = true)
19-
public final class EpisodeInfoEndpoint implements PagingEndpoint, LimitEndpoint {
19+
public final class EpisodeInfoEndpoint implements PagingEndpoint<EpisodeInfo>, LimitEndpoint<EpisodeInfo> {
2020

2121
private final InternalApi internalApi;
2222

library/src/main/java/me/proxer/library/api/info/IndustryEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* @author Ruben Gees
1313
*/
1414
@Accessors(fluent = true)
15-
public class IndustryEndpoint implements Endpoint {
15+
public class IndustryEndpoint implements Endpoint<Industry> {
1616

1717
private final InternalApi internalApi;
1818

0 commit comments

Comments
 (0)