Skip to content

Commit 450977a

Browse files
committed
remove Consumer interface and its usages (thanks to https://github.com/CodingFabian)
1 parent cd20f57 commit 450977a

3 files changed

Lines changed: 55 additions & 138 deletions

File tree

  • scribejava-core/src/main/java/com/github/scribejava/core/java8
  • scribejava-httpclient-ahc/src/main/java/com/github/scribejava/httpclient/ahc
  • scribejava-httpclient-ning/src/main/java/com/github/scribejava/httpclient/ning

scribejava-core/src/main/java/com/github/scribejava/core/java8/Consumer.java

Lines changed: 0 additions & 47 deletions
This file was deleted.

scribejava-httpclient-ahc/src/main/java/com/github/scribejava/httpclient/ahc/AhcHttpClient.java

Lines changed: 25 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.github.scribejava.core.httpclient.AbstractAsyncOnlyHttpClient;
44
import com.github.scribejava.core.httpclient.multipart.MultipartPayload;
5-
import com.github.scribejava.core.java8.Consumer;
65
import com.github.scribejava.core.model.OAuthAsyncRequestCallback;
76
import com.github.scribejava.core.model.OAuthConstants;
87
import com.github.scribejava.core.model.OAuthRequest;
@@ -43,7 +42,7 @@ public void close() throws IOException {
4342
@Override
4443
public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers, Verb httpVerb, String completeUrl,
4544
byte[] bodyContents, OAuthAsyncRequestCallback<T> callback, OAuthRequest.ResponseConverter<T> converter) {
46-
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, new ByteArrayConsumer(bodyContents), callback,
45+
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, BodySetter.BYTE_ARRAY, bodyContents, callback,
4746
converter);
4847
}
4948

@@ -58,19 +57,19 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
5857
@Override
5958
public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers, Verb httpVerb, String completeUrl,
6059
String bodyContents, OAuthAsyncRequestCallback<T> callback, OAuthRequest.ResponseConverter<T> converter) {
61-
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, new StringConsumer(bodyContents), callback,
60+
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, BodySetter.STRING, bodyContents, callback,
6261
converter);
6362
}
6463

6564
@Override
6665
public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers, Verb httpVerb, String completeUrl,
6766
File bodyContents, OAuthAsyncRequestCallback<T> callback, OAuthRequest.ResponseConverter<T> converter) {
68-
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, new FileConsumer(bodyContents), callback,
67+
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, BodySetter.FILE, bodyContents, callback,
6968
converter);
7069
}
7170

7271
private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> headers, Verb httpVerb,
73-
String completeUrl, Consumer<BoundRequestBuilder> bodySetter, OAuthAsyncRequestCallback<T> callback,
72+
String completeUrl, BodySetter bodySetter, Object bodyContents, OAuthAsyncRequestCallback<T> callback,
7473
OAuthRequest.ResponseConverter<T> converter) {
7574
final BoundRequestBuilder boundRequestBuilder;
7675
switch (httpVerb) {
@@ -94,7 +93,7 @@ private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> heade
9493
if (!headers.containsKey(CONTENT_TYPE)) {
9594
boundRequestBuilder.addHeader(CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
9695
}
97-
bodySetter.accept(boundRequestBuilder);
96+
bodySetter.setBody(boundRequestBuilder, bodyContents);
9897
}
9998

10099
for (Map.Entry<String, String> header : headers.entrySet()) {
@@ -108,45 +107,26 @@ private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> heade
108107
return boundRequestBuilder.execute(new OAuthAsyncCompletionHandler<>(callback, converter));
109108
}
110109

111-
private static class ByteArrayConsumer implements Consumer<BoundRequestBuilder> {
112-
113-
private final byte[] bodyContents;
114-
115-
private ByteArrayConsumer(byte[] bodyContents) {
116-
this.bodyContents = bodyContents;
117-
}
118-
119-
@Override
120-
public void accept(BoundRequestBuilder requestBuilder) {
121-
requestBuilder.setBody(bodyContents);
122-
}
123-
}
124-
125-
private static class StringConsumer implements Consumer<BoundRequestBuilder> {
126-
127-
private final String bodyContents;
128-
129-
private StringConsumer(String bodyContents) {
130-
this.bodyContents = bodyContents;
131-
}
132-
133-
@Override
134-
public void accept(BoundRequestBuilder requestBuilder) {
135-
requestBuilder.setBody(bodyContents);
136-
}
137-
}
138-
139-
private static class FileConsumer implements Consumer<BoundRequestBuilder> {
140-
141-
private final File bodyContents;
142-
143-
private FileConsumer(File bodyContents) {
144-
this.bodyContents = bodyContents;
145-
}
110+
private enum BodySetter {
111+
BYTE_ARRAY {
112+
@Override
113+
BoundRequestBuilder setBody(BoundRequestBuilder requestBuilder, Object bodyContents) {
114+
return requestBuilder.setBody((byte[]) bodyContents);
115+
}
116+
},
117+
STRING {
118+
@Override
119+
BoundRequestBuilder setBody(BoundRequestBuilder requestBuilder, Object bodyContents) {
120+
return requestBuilder.setBody((String) bodyContents);
121+
}
122+
},
123+
FILE {
124+
@Override
125+
BoundRequestBuilder setBody(BoundRequestBuilder requestBuilder, Object bodyContents) {
126+
return requestBuilder.setBody((File) bodyContents);
127+
}
128+
};
146129

147-
@Override
148-
public void accept(BoundRequestBuilder requestBuilder) {
149-
requestBuilder.setBody(bodyContents);
150-
}
130+
abstract BoundRequestBuilder setBody(BoundRequestBuilder requestBuilder, Object bodyContents);
151131
}
152132
}

scribejava-httpclient-ning/src/main/java/com/github/scribejava/httpclient/ning/NingHttpClient.java

Lines changed: 30 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.github.scribejava.core.httpclient.AbstractAsyncOnlyHttpClient;
44
import com.github.scribejava.core.httpclient.multipart.MultipartPayload;
5-
import com.github.scribejava.core.java8.Consumer;
65
import com.github.scribejava.core.model.OAuthAsyncRequestCallback;
76
import com.github.scribejava.core.model.OAuthConstants;
87
import com.github.scribejava.core.model.OAuthRequest;
@@ -50,7 +49,7 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
5049
final byte[] bodyContents, OAuthAsyncRequestCallback<T> callback,
5150
OAuthRequest.ResponseConverter<T> converter) {
5251

53-
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, new ByteArrayConsumer(bodyContents), callback,
52+
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, BodySetter.BYTE_ARRAY, bodyContents, callback,
5453
converter);
5554
}
5655

@@ -67,7 +66,7 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
6766
final String bodyContents, OAuthAsyncRequestCallback<T> callback,
6867
OAuthRequest.ResponseConverter<T> converter) {
6968

70-
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, new StringConsumer(bodyContents), callback,
69+
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, BodySetter.STRING, bodyContents, callback,
7170
converter);
7271
}
7372

@@ -76,13 +75,13 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
7675
final File bodyContents, OAuthAsyncRequestCallback<T> callback,
7776
OAuthRequest.ResponseConverter<T> converter) {
7877

79-
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, new FileConsumer(bodyContents), callback,
78+
return doExecuteAsync(userAgent, headers, httpVerb, completeUrl, BodySetter.FILE, bodyContents, callback,
8079
converter);
8180
}
8281

8382
private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> headers, Verb httpVerb,
84-
String completeUrl, Consumer<AsyncHttpClient.BoundRequestBuilder> bodySetter,
85-
OAuthAsyncRequestCallback<T> callback, OAuthRequest.ResponseConverter<T> converter) {
83+
String completeUrl, BodySetter bodySetter, Object bodyContents, OAuthAsyncRequestCallback<T> callback,
84+
OAuthRequest.ResponseConverter<T> converter) {
8685
final AsyncHttpClient.BoundRequestBuilder boundRequestBuilder;
8786
switch (httpVerb) {
8887
case GET:
@@ -105,7 +104,7 @@ private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> heade
105104
if (!headers.containsKey(CONTENT_TYPE)) {
106105
boundRequestBuilder.addHeader(CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
107106
}
108-
bodySetter.accept(boundRequestBuilder);
107+
bodySetter.setBody(boundRequestBuilder, bodyContents);
109108
}
110109

111110
for (Map.Entry<String, String> header : headers.entrySet()) {
@@ -119,45 +118,30 @@ private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> heade
119118
return boundRequestBuilder.execute(new OAuthAsyncCompletionHandler<>(callback, converter));
120119
}
121120

122-
private static class ByteArrayConsumer implements Consumer<AsyncHttpClient.BoundRequestBuilder> {
123-
124-
private final byte[] bodyContents;
125-
126-
private ByteArrayConsumer(byte[] bodyContents) {
127-
this.bodyContents = bodyContents;
128-
}
129-
130-
@Override
131-
public void accept(AsyncHttpClient.BoundRequestBuilder requestBuilder) {
132-
requestBuilder.setBody(bodyContents);
133-
}
134-
}
135-
136-
private static class StringConsumer implements Consumer<AsyncHttpClient.BoundRequestBuilder> {
137-
138-
private final String bodyContents;
139-
140-
private StringConsumer(String bodyContents) {
141-
this.bodyContents = bodyContents;
142-
}
143-
144-
@Override
145-
public void accept(AsyncHttpClient.BoundRequestBuilder requestBuilder) {
146-
requestBuilder.setBody(bodyContents);
147-
}
148-
}
149-
150-
private static class FileConsumer implements Consumer<AsyncHttpClient.BoundRequestBuilder> {
151-
152-
private final File bodyContents;
153-
154-
private FileConsumer(File bodyContents) {
155-
this.bodyContents = bodyContents;
156-
}
121+
private enum BodySetter {
122+
BYTE_ARRAY {
123+
@Override
124+
AsyncHttpClient.BoundRequestBuilder setBody(AsyncHttpClient.BoundRequestBuilder requestBuilder,
125+
Object bodyContents) {
126+
return requestBuilder.setBody((byte[]) bodyContents);
127+
}
128+
},
129+
STRING {
130+
@Override
131+
AsyncHttpClient.BoundRequestBuilder setBody(AsyncHttpClient.BoundRequestBuilder requestBuilder,
132+
Object bodyContents) {
133+
return requestBuilder.setBody((String) bodyContents);
134+
}
135+
},
136+
FILE {
137+
@Override
138+
AsyncHttpClient.BoundRequestBuilder setBody(AsyncHttpClient.BoundRequestBuilder requestBuilder,
139+
Object bodyContents) {
140+
return requestBuilder.setBody((File) bodyContents);
141+
}
142+
};
157143

158-
@Override
159-
public void accept(AsyncHttpClient.BoundRequestBuilder requestBuilder) {
160-
requestBuilder.setBody(bodyContents);
161-
}
144+
abstract AsyncHttpClient.BoundRequestBuilder setBody(AsyncHttpClient.BoundRequestBuilder requestBuilder,
145+
Object bodyContents);
162146
}
163147
}

0 commit comments

Comments
 (0)