Skip to content

Commit e615701

Browse files
MiloszSobczykcopybara-github
authored andcommitted
refactor: add null annotations in appropriate places
Add @nullable annotations and move existing ones to appropriate places. It was influenced by Recommentations for making ADK Java more idiomatic, but it was later reevaluated to use different approach towards wrapper vs primitive types and mostly stay with existing solution. The changes are supposed to make the code more consistent in places where @nullable is either used or unused. PiperOrigin-RevId: 890340769
1 parent 15f7ec9 commit e615701

5 files changed

Lines changed: 14 additions & 17 deletions

File tree

core/src/main/java/com/google/adk/agents/ActiveStreamingTool.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222

2323
/** Manages streaming tool related resources during invocation. */
2424
public class ActiveStreamingTool {
25-
@Nullable private Disposable task;
26-
@Nullable private LiveRequestQueue stream;
25+
private @Nullable Disposable task;
26+
private @Nullable LiveRequestQueue stream;
2727

2828
public ActiveStreamingTool(Disposable task) {
2929
this(task, null);
@@ -41,8 +41,7 @@ public ActiveStreamingTool(Disposable task, LiveRequestQueue stream) {
4141
public ActiveStreamingTool() {}
4242

4343
/** Returns the active task of this streaming tool. */
44-
@Nullable
45-
public Disposable task() {
44+
public @Nullable Disposable task() {
4645
return task;
4746
}
4847

@@ -52,8 +51,7 @@ public void task(@Nullable Disposable task) {
5251
}
5352

5453
/** Returns the active stream of this streaming tool. */
55-
@Nullable
56-
public LiveRequestQueue stream() {
54+
public @Nullable LiveRequestQueue stream() {
5755
return stream;
5856
}
5957

core/src/main/java/com/google/adk/agents/LlmAgent.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ protected LlmAgent(Builder builder) {
129129
requireNonNullElse(builder.globalInstruction, new Instruction.Static(""));
130130
this.generateContentConfig = Optional.ofNullable(builder.generateContentConfig);
131131
this.includeContents = requireNonNullElse(builder.includeContents, IncludeContents.DEFAULT);
132-
this.planning = builder.planning != null && builder.planning;
132+
this.planning = requireNonNullElse(builder.planning, false);
133133
this.maxSteps = Optional.ofNullable(builder.maxSteps);
134-
this.disallowTransferToParent = builder.disallowTransferToParent;
135-
this.disallowTransferToPeers = builder.disallowTransferToPeers;
134+
this.disallowTransferToParent = requireNonNullElse(builder.disallowTransferToParent, false);
135+
this.disallowTransferToPeers = requireNonNullElse(builder.disallowTransferToPeers, false);
136136
this.beforeModelCallback = requireNonNullElse(builder.beforeModelCallback, ImmutableList.of());
137137
this.afterModelCallback = requireNonNullElse(builder.afterModelCallback, ImmutableList.of());
138138
this.onModelErrorCallback =
@@ -566,8 +566,7 @@ public Builder codeExecutor(BaseCodeExecutor codeExecutor) {
566566
return this;
567567
}
568568

569-
@Nullable
570-
private static <B, A> ImmutableList<A> convertCallbacks(
569+
private static <B, A> @Nullable ImmutableList<A> convertCallbacks(
571570
@Nullable List<? extends B> callbacks, Function<B, A> converter, String callbackType) {
572571
return Optional.ofNullable(callbacks)
573572
.map(

core/src/main/java/com/google/adk/apps/App.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ public class App {
4040
private final String name;
4141
private final BaseAgent rootAgent;
4242
private final ImmutableList<? extends Plugin> plugins;
43-
@Nullable private final EventsCompactionConfig eventsCompactionConfig;
44-
@Nullable private final ContextCacheConfig contextCacheConfig;
43+
private final @Nullable EventsCompactionConfig eventsCompactionConfig;
44+
private final @Nullable ContextCacheConfig contextCacheConfig;
4545

4646
private App(
4747
String name,

core/src/main/java/com/google/adk/events/Event.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ public static class Builder {
348348
private String invocationId;
349349
private String author;
350350
private @Nullable Content content;
351-
private EventActions actions;
351+
private @Nullable EventActions actions;
352352
private @Nullable Set<String> longRunningToolIds;
353353
private @Nullable Boolean partial;
354354
private @Nullable Boolean turnComplete;
@@ -399,7 +399,7 @@ public Builder content(@Nullable Content value) {
399399

400400
@CanIgnoreReturnValue
401401
@JsonProperty("actions")
402-
public Builder actions(EventActions value) {
402+
public Builder actions(@Nullable EventActions value) {
403403
this.actions = value;
404404
return this;
405405
}

core/src/main/java/com/google/adk/events/EventActions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ private Builder(EventActions eventActions) {
281281

282282
@CanIgnoreReturnValue
283283
@JsonProperty("skipSummarization")
284-
public Builder skipSummarization(boolean skipSummarization) {
284+
public Builder skipSummarization(@Nullable Boolean skipSummarization) {
285285
this.skipSummarization = skipSummarization;
286286
return this;
287287
}
@@ -324,7 +324,7 @@ public Builder transferToAgent(@Nullable String agentId) {
324324

325325
@CanIgnoreReturnValue
326326
@JsonProperty("escalate")
327-
public Builder escalate(boolean escalate) {
327+
public Builder escalate(@Nullable Boolean escalate) {
328328
this.escalate = escalate;
329329
return this;
330330
}

0 commit comments

Comments
 (0)