1717package com .google .adk .agents ;
1818
1919import static com .google .common .collect .ImmutableList .toImmutableList ;
20+ import static java .util .Objects .requireNonNullElse ;
2021import static java .util .stream .Collectors .joining ;
2122
2223import com .fasterxml .jackson .core .JsonProcessingException ;
@@ -103,12 +104,12 @@ public enum IncludeContents {
103104 private final Optional <Integer > maxSteps ;
104105 private final boolean disallowTransferToParent ;
105106 private final boolean disallowTransferToPeers ;
106- private final Optional < List < ? extends BeforeModelCallback > > beforeModelCallback ;
107- private final Optional < List < ? extends AfterModelCallback > > afterModelCallback ;
108- private final Optional < List < ? extends OnModelErrorCallback > > onModelErrorCallback ;
109- private final Optional < List < ? extends BeforeToolCallback > > beforeToolCallback ;
110- private final Optional < List < ? extends AfterToolCallback > > afterToolCallback ;
111- private final Optional < List < ? extends OnToolErrorCallback > > onToolErrorCallback ;
107+ private final ImmutableList < ? extends BeforeModelCallback > beforeModelCallback ;
108+ private final ImmutableList < ? extends AfterModelCallback > afterModelCallback ;
109+ private final ImmutableList < ? extends OnModelErrorCallback > onModelErrorCallback ;
110+ private final ImmutableList < ? extends BeforeToolCallback > beforeToolCallback ;
111+ private final ImmutableList < ? extends AfterToolCallback > afterToolCallback ;
112+ private final ImmutableList < ? extends OnToolErrorCallback > onToolErrorCallback ;
112113 private final Optional <Schema > inputSchema ;
113114 private final Optional <Schema > outputSchema ;
114115 private final Optional <Executor > executor ;
@@ -126,29 +127,28 @@ protected LlmAgent(Builder builder) {
126127 builder .beforeAgentCallback ,
127128 builder .afterAgentCallback );
128129 this .model = Optional .ofNullable (builder .model );
129- this .instruction =
130- builder .instruction == null ? new Instruction .Static ("" ) : builder .instruction ;
130+ this .instruction = requireNonNullElse (builder .instruction , new Instruction .Static ("" ));
131131 this .globalInstruction =
132- builder .globalInstruction == null ? new Instruction .Static ("" ) : builder . globalInstruction ;
132+ requireNonNullElse ( builder .globalInstruction , new Instruction .Static ("" )) ;
133133 this .generateContentConfig = Optional .ofNullable (builder .generateContentConfig );
134134 this .exampleProvider = Optional .ofNullable (builder .exampleProvider );
135- this .includeContents =
136- builder .includeContents != null ? builder .includeContents : IncludeContents .DEFAULT ;
135+ this .includeContents = requireNonNullElse (builder .includeContents , IncludeContents .DEFAULT );
137136 this .planning = builder .planning != null && builder .planning ;
138137 this .maxSteps = Optional .ofNullable (builder .maxSteps );
139138 this .disallowTransferToParent = builder .disallowTransferToParent ;
140139 this .disallowTransferToPeers = builder .disallowTransferToPeers ;
141- this .beforeModelCallback = Optional .ofNullable (builder .beforeModelCallback );
142- this .afterModelCallback = Optional .ofNullable (builder .afterModelCallback );
143- this .onModelErrorCallback = Optional .ofNullable (builder .onModelErrorCallback );
144- this .beforeToolCallback = Optional .ofNullable (builder .beforeToolCallback );
145- this .afterToolCallback = Optional .ofNullable (builder .afterToolCallback );
146- this .onToolErrorCallback = Optional .ofNullable (builder .onToolErrorCallback );
140+ this .beforeModelCallback = requireNonNullElse (builder .beforeModelCallback , ImmutableList .of ());
141+ this .afterModelCallback = requireNonNullElse (builder .afterModelCallback , ImmutableList .of ());
142+ this .onModelErrorCallback =
143+ requireNonNullElse (builder .onModelErrorCallback , ImmutableList .of ());
144+ this .beforeToolCallback = requireNonNullElse (builder .beforeToolCallback , ImmutableList .of ());
145+ this .afterToolCallback = requireNonNullElse (builder .afterToolCallback , ImmutableList .of ());
146+ this .onToolErrorCallback = requireNonNullElse (builder .onToolErrorCallback , ImmutableList .of ());
147147 this .inputSchema = Optional .ofNullable (builder .inputSchema );
148148 this .outputSchema = Optional .ofNullable (builder .outputSchema );
149149 this .executor = Optional .ofNullable (builder .executor );
150150 this .outputKey = Optional .ofNullable (builder .outputKey );
151- this .toolsUnion = builder .toolsUnion != null ? builder . toolsUnion : ImmutableList .of ();
151+ this .toolsUnion = requireNonNullElse ( builder .toolsUnion , ImmutableList .of () );
152152 this .toolsets = extractToolsets (this .toolsUnion );
153153 this .codeExecutor = Optional .ofNullable (builder .codeExecutor );
154154
@@ -841,27 +841,27 @@ public boolean disallowTransferToPeers() {
841841 return disallowTransferToPeers ;
842842 }
843843
844- public Optional < List <? extends BeforeModelCallback > > beforeModelCallback () {
844+ public List <? extends BeforeModelCallback > beforeModelCallback () {
845845 return beforeModelCallback ;
846846 }
847847
848- public Optional < List <? extends AfterModelCallback > > afterModelCallback () {
848+ public List <? extends AfterModelCallback > afterModelCallback () {
849849 return afterModelCallback ;
850850 }
851851
852- public Optional < List <? extends BeforeToolCallback > > beforeToolCallback () {
852+ public List <? extends BeforeToolCallback > beforeToolCallback () {
853853 return beforeToolCallback ;
854854 }
855855
856- public Optional < List <? extends AfterToolCallback > > afterToolCallback () {
856+ public List <? extends AfterToolCallback > afterToolCallback () {
857857 return afterToolCallback ;
858858 }
859859
860- public Optional < List <? extends OnModelErrorCallback > > onModelErrorCallback () {
860+ public List <? extends OnModelErrorCallback > onModelErrorCallback () {
861861 return onModelErrorCallback ;
862862 }
863863
864- public Optional < List <? extends OnToolErrorCallback > > onToolErrorCallback () {
864+ public List <? extends OnToolErrorCallback > onToolErrorCallback () {
865865 return onToolErrorCallback ;
866866 }
867867
@@ -871,7 +871,7 @@ public Optional<List<? extends OnToolErrorCallback>> onToolErrorCallback() {
871871 * <p>This method is only for use by Agent Development Kit.
872872 */
873873 public List <? extends BeforeModelCallback > canonicalBeforeModelCallbacks () {
874- return beforeModelCallback . orElse ( ImmutableList . of ()) ;
874+ return beforeModelCallback ;
875875 }
876876
877877 /**
@@ -880,7 +880,7 @@ public List<? extends BeforeModelCallback> canonicalBeforeModelCallbacks() {
880880 * <p>This method is only for use by Agent Development Kit.
881881 */
882882 public List <? extends AfterModelCallback > canonicalAfterModelCallbacks () {
883- return afterModelCallback . orElse ( ImmutableList . of ()) ;
883+ return afterModelCallback ;
884884 }
885885
886886 /**
@@ -889,7 +889,7 @@ public List<? extends AfterModelCallback> canonicalAfterModelCallbacks() {
889889 * <p>This method is only for use by Agent Development Kit.
890890 */
891891 public List <? extends OnModelErrorCallback > canonicalOnModelErrorCallbacks () {
892- return onModelErrorCallback . orElse ( ImmutableList . of ()) ;
892+ return onModelErrorCallback ;
893893 }
894894
895895 /**
@@ -898,7 +898,7 @@ public List<? extends OnModelErrorCallback> canonicalOnModelErrorCallbacks() {
898898 * <p>This method is only for use by Agent Development Kit.
899899 */
900900 public List <? extends BeforeToolCallback > canonicalBeforeToolCallbacks () {
901- return beforeToolCallback . orElse ( ImmutableList . of ()) ;
901+ return beforeToolCallback ;
902902 }
903903
904904 /**
@@ -907,7 +907,7 @@ public List<? extends BeforeToolCallback> canonicalBeforeToolCallbacks() {
907907 * <p>This method is only for use by Agent Development Kit.
908908 */
909909 public List <? extends AfterToolCallback > canonicalAfterToolCallbacks () {
910- return afterToolCallback . orElse ( ImmutableList . of ()) ;
910+ return afterToolCallback ;
911911 }
912912
913913 /**
@@ -916,7 +916,7 @@ public List<? extends AfterToolCallback> canonicalAfterToolCallbacks() {
916916 * <p>This method is only for use by Agent Development Kit.
917917 */
918918 public List <? extends OnToolErrorCallback > canonicalOnToolErrorCallbacks () {
919- return onToolErrorCallback . orElse ( ImmutableList . of ()) ;
919+ return onToolErrorCallback ;
920920 }
921921
922922 public Optional <Schema > inputSchema () {
0 commit comments