Skip to content

Commit d017336

Browse files
authored
Merge pull request #123 from IBM/polish-code-javadoc
Polish code and improve javadoc documentation
2 parents 0ba940a + 5faff14 commit d017336

File tree

15 files changed

+87
-26
lines changed

15 files changed

+87
-26
lines changed

modules/watsonx-ai-core/src/main/java/com/ibm/watsonx/ai/core/auth/iam/DefaultRestClient.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.net.http.HttpResponse.BodyHandlers;
1515
import java.nio.charset.StandardCharsets;
1616
import java.util.concurrent.CompletableFuture;
17+
import java.util.function.Function;
1718
import com.ibm.watsonx.ai.core.auth.IdentityTokenResponse;
1819
import com.ibm.watsonx.ai.core.factory.HttpClientFactory;
1920
import com.ibm.watsonx.ai.core.http.AsyncHttpClient;
@@ -71,7 +72,7 @@ public CompletableFuture<IdentityTokenResponse> asyncToken(String apiKey, String
7172
throw new RuntimeException(response.body());
7273

7374
}, ExecutorProvider.cpuExecutor())
74-
.thenApplyAsync(r -> r, ExecutorProvider.ioExecutor());
75+
.thenApplyAsync(Function.identity(), ExecutorProvider.ioExecutor());
7576
}
7677

7778
/*

modules/watsonx-ai-core/src/test/java/com/ibm/watsonx/ai/core/LoggerInterceptorTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.concurrent.CompletableFuture;
3333
import java.util.concurrent.Executors;
3434
import java.util.concurrent.TimeUnit;
35+
import java.util.function.Function;
3536
import java.util.stream.Stream;
3637
import org.junit.jupiter.api.Nested;
3738
import org.junit.jupiter.api.Test;
@@ -359,7 +360,7 @@ public <T> CompletableFuture<HttpResponse<T>> intercept(HttpRequest request, Bod
359360
assertEquals("io-thread", Thread.currentThread().getName());
360361
threadNames.add(Thread.currentThread().getName());
361362
return chain.proceed(request, bodyHandler)
362-
.thenApplyAsync(r -> r, cpuExecutor)
363+
.thenApplyAsync(Function.identity(), cpuExecutor)
363364
.thenApplyAsync(r -> {
364365
threadNames.add(Thread.currentThread().getName());
365366
return r;

modules/watsonx-ai-core/src/test/java/com/ibm/watsonx/ai/core/RetryInterceptorTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.concurrent.Executors;
3636
import java.util.concurrent.Flow;
3737
import java.util.concurrent.TimeUnit;
38+
import java.util.function.Function;
3839
import org.junit.jupiter.api.BeforeEach;
3940
import org.junit.jupiter.api.Nested;
4041
import org.junit.jupiter.api.Test;
@@ -625,8 +626,8 @@ void test_executor() throws Exception {
625626
public <T> CompletableFuture<HttpResponse<T>> intercept(HttpRequest request, BodyHandler<T> bodyHandler,
626627
int index, AsyncChain chain) {
627628
return chain.proceed(request, bodyHandler)
628-
.thenApplyAsync(r -> r, cpuExecutor)
629-
.thenApplyAsync(r -> r, ioExecutor);
629+
.thenApplyAsync(Function.identity(), cpuExecutor)
630+
.thenApplyAsync(Function.identity(), ioExecutor);
630631
}
631632
}).build();
632633

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/chat/model/Thinking.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,10 @@ public Thinking build() {
152152
return new Thinking(this);
153153
}
154154
}
155+
156+
@Override
157+
public String toString() {
158+
return "Thinking [enabled=" + enabled + ", includeReasoning=" + includeReasoning + ", extractionTags=" + extractionTags + ", thinkingEffort="
159+
+ thinkingEffort + "]";
160+
}
155161
}

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/detection/DetectionService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* DetectionResponse<DetectionTextResponse> response = detectionService.detect(
2424
* DetectionTextRequest.builder()
2525
* .input("...")
26-
* .detectors(Pii.create(), Hap.builder().threshold(0.3).build())
26+
* .detectors(Pii.ofDefaults(), Hap.builder().threshold(0.3).build())
2727
* .build()
2828
* );
2929
* }</pre>
@@ -72,7 +72,7 @@ public DetectionResponse<DetectionTextResponse> detect(DetectionTextRequest requ
7272
* DetectionResponse<DetectionTextResponse> response = detectionService.detect(
7373
* DetectionTextRequest.builder()
7474
* .input("...")
75-
* .detectors(Pii.create(), Hap.builder().threshold(0.3).build())
75+
* .detectors(Pii.ofDefaults(), Hap.builder().threshold(0.3).build())
7676
* .build()
7777
* );
7878
* }</pre>

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/detection/DetectionTextRequest.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* DetectionTextRequest request =
2121
* DetectionTextRequest.builder()
2222
* .input("...")
23-
* .detectors(Pii.create(), Hap.builder().threshold(0.3).build())
23+
* .detectors(Pii.ofDefaults(), Hap.builder().threshold(0.3).build())
2424
* .build();
2525
* }</pre>
2626
*/
@@ -52,7 +52,7 @@ public Map<String, Map<String, Object>> getDetectors() {
5252
* DetectionTextRequest request =
5353
* DetectionTextRequest.builder()
5454
* .input("...")
55-
* .detectors(Pii.create(), Hap.builder().threshold(0.3).build())
55+
* .detectors(Pii.ofDefaults(), Hap.builder().threshold(0.3).build())
5656
* .build();
5757
* }</pre>
5858
*
@@ -109,4 +109,10 @@ public DetectionTextRequest build() {
109109
return new DetectionTextRequest(this);
110110
}
111111
}
112+
113+
@Override
114+
public String toString() {
115+
return "DetectionTextRequest [projectId=" + projectId + ", spaceId=" + spaceId + ", transactionId=" + transactionId + ", input=" + input
116+
+ ", detectors=" + detectors + "]";
117+
}
112118
}

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/detection/detector/BaseDetector.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,18 @@
1010
import java.util.Map;
1111

1212
/**
13-
* Abstract class for all detectors.
13+
* Represents a configurable content detector used by the detection service.
14+
* <p>
15+
* This is an abstract base class, one of its concrete implementations should be used instead:
16+
* <ul>
17+
* <li>{@link Pii} — detects personally identifiable information (PII)</li>
18+
* <li>{@link Hap} — detects hate or profanity content</li>
19+
* <li>{@link GraniteGuardian} — performs general content moderation</li>
20+
* </ul>
21+
* <p>
22+
* Each detector exposes a builder for fluent configuration of parameters.
23+
* <p>
24+
* Detectors are used in a {@code DetectionService} request to specify which kinds of content analysis to perform.
1425
*
1526
* @see Pii
1627
* @see Hap

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/detection/detector/GraniteGuardian.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,21 @@ private GraniteGuardian(Builder builder) {
2121
super(builder);
2222
}
2323

24+
/**
25+
* Returns an empty {@link GraniteGuardian} detector instance with no properties configured.
26+
* <p>
27+
* This is equivalent to:
28+
*
29+
* <pre>{@code
30+
* GraniteGuardian detector = GraniteGuardian.builder().build();
31+
* }</pre>
32+
*
33+
* @return an empty {@link GraniteGuardian} instance.
34+
*/
35+
public static GraniteGuardian ofDefaults() {
36+
return builder().build();
37+
}
38+
2439
/**
2540
* Returns a new {@link Builder} instance.
2641
* <p>

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/detection/detector/Hap.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,21 @@ private Hap(Builder builder) {
2121
super(builder);
2222
}
2323

24+
/**
25+
* Returns an empty {@link Hap} detector instance with no properties configured.
26+
* <p>
27+
* This is equivalent to:
28+
*
29+
* <pre>{@code
30+
* Hap detector = Hap.builder().build();
31+
* }</pre>
32+
*
33+
* @return an empty {@link Hap} instance.
34+
*/
35+
public static Hap ofDefaults() {
36+
return builder().build();
37+
}
38+
2439
/**
2540
* Returns a new {@link Builder} instance.
2641
* <p>

modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/detection/detector/Pii.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
* <b>Example usage:</b>
1111
*
1212
* <pre>{@code
13-
* Pii detector = Pii.builder()
14-
* .threshold(0.5)
15-
* .build();
13+
* Pii detector = Pii.ofDefaults();
1614
* }</pre>
1715
*/
1816
public final class Pii extends BaseDetector {
@@ -22,11 +20,17 @@ private Pii(Builder builder) {
2220
}
2321

2422
/**
25-
* Creates a new instance of Pii.
23+
* Returns an empty {@link Pii} detector instance with no properties configured.
24+
* <p>
25+
* This is equivalent to:
26+
*
27+
* <pre>{@code
28+
* Pii detector = Pii.builder().build();
29+
* }</pre>
2630
*
27-
* @return new {@link Pii} instance.
31+
* @return an empty {@link Pii} instance.
2832
*/
29-
public static Pii create() {
33+
public static Pii ofDefaults() {
3034
return builder().build();
3135
}
3236

@@ -36,9 +40,7 @@ public static Pii create() {
3640
* <b>Example usage:</b>
3741
*
3842
* <pre>{@code
39-
* Pii detector = Pii.builder()
40-
* .threshold(0.5)
41-
* .build();
43+
* Pii detector = Pii.ofDefaults();
4244
* }</pre>
4345
*
4446
* @return {@link Builder} instance.

0 commit comments

Comments
 (0)