@@ -55,7 +55,7 @@ public static EntitySelectorConfig newMimicSelectorConfig(String mimicSelectorRe
5555 private String mimicSelectorRef = null ;
5656
5757 @ Nullable
58- private Class <?> entityClass = null ;
58+ private String entityClass = null ;
5959 @ Nullable
6060 private SelectionCacheType cacheType = null ;
6161 @ Nullable
@@ -66,30 +66,30 @@ public static EntitySelectorConfig newMimicSelectorConfig(String mimicSelectorRe
6666 private NearbySelectionConfig nearbySelectionConfig = null ;
6767
6868 @ Nullable
69- private Class <? extends SelectionFilter > filterClass = null ;
69+ private String filterClass = null ;
7070
7171 @ Nullable
7272 private EntitySorterManner sorterManner = null ;
7373 @ Nullable
74- private Class <? extends Comparator > comparatorClass = null ;
74+ private String comparatorClass = null ;
7575 @ Nullable
76- private Class <? extends ComparatorFactory > comparatorFactoryClass = null ;
76+ private String comparatorFactoryClass = null ;
7777 @ Nullable
7878 private SelectionSorterOrder sorterOrder = null ;
7979 @ Nullable
80- private Class <? extends SelectionSorter > sorterClass = null ;
80+ private String sorterClass = null ;
8181
8282 @ Nullable
83- private Class <? extends SelectionProbabilityWeightFactory > probabilityWeightFactoryClass = null ;
83+ private String probabilityWeightFactoryClass = null ;
8484
8585 @ Nullable
8686 private Long selectedCountLimit = null ;
8787
8888 public EntitySelectorConfig () {
8989 }
9090
91- public EntitySelectorConfig (Class <?> entityClass ) {
92- this .entityClass = entityClass ;
91+ public EntitySelectorConfig (@ Nullable Class <?> entityClass ) {
92+ this .entityClass = entityClass == null ? null : entityClass . getName () ;
9393 }
9494
9595 public EntitySelectorConfig (@ Nullable EntitySelectorConfig inheritedConfig ) {
@@ -115,11 +115,11 @@ public void setMimicSelectorRef(@Nullable String mimicSelectorRef) {
115115 }
116116
117117 public @ Nullable Class <?> getEntityClass () {
118- return entityClass ;
118+ return ConfigUtils . resolveClass ( entityClass , "entityClass" , this ) ;
119119 }
120120
121121 public void setEntityClass (@ Nullable Class <?> entityClass ) {
122- this .entityClass = entityClass ;
122+ this .entityClass = entityClass == null ? null : entityClass . getName () ;
123123 }
124124
125125 public @ Nullable SelectionCacheType getCacheType () {
@@ -147,11 +147,11 @@ public void setNearbySelectionConfig(@Nullable NearbySelectionConfig nearbySelec
147147 }
148148
149149 public @ Nullable Class <? extends SelectionFilter > getFilterClass () {
150- return filterClass ;
150+ return ConfigUtils . resolveClass ( filterClass , "filterClass" , this ) ;
151151 }
152152
153153 public void setFilterClass (@ Nullable Class <? extends SelectionFilter > filterClass ) {
154- this .filterClass = filterClass ;
154+ this .filterClass = filterClass == null ? null : filterClass . getName () ;
155155 }
156156
157157 public @ Nullable EntitySorterManner getSorterManner () {
@@ -163,19 +163,19 @@ public void setSorterManner(@Nullable EntitySorterManner sorterManner) {
163163 }
164164
165165 public @ Nullable Class <? extends Comparator > getComparatorClass () {
166- return comparatorClass ;
166+ return ConfigUtils . resolveClass ( comparatorClass , "comparatorClass" , this ) ;
167167 }
168168
169169 public void setComparatorClass (@ Nullable Class <? extends Comparator > comparatorClass ) {
170- this .comparatorClass = comparatorClass ;
170+ this .comparatorClass = comparatorClass == null ? null : comparatorClass . getName () ;
171171 }
172172
173173 public @ Nullable Class <? extends ComparatorFactory > getComparatorFactoryClass () {
174- return comparatorFactoryClass ;
174+ return ConfigUtils . resolveClass ( comparatorFactoryClass , "comparatorFactoryClass" , this ) ;
175175 }
176176
177177 public void setComparatorFactoryClass (@ Nullable Class <? extends ComparatorFactory > comparatorFactoryClass ) {
178- this .comparatorFactoryClass = comparatorFactoryClass ;
178+ this .comparatorFactoryClass = comparatorFactoryClass == null ? null : comparatorFactoryClass . getName () ;
179179 }
180180
181181 public @ Nullable SelectionSorterOrder getSorterOrder () {
@@ -187,20 +187,21 @@ public void setSorterOrder(@Nullable SelectionSorterOrder sorterOrder) {
187187 }
188188
189189 public @ Nullable Class <? extends SelectionSorter > getSorterClass () {
190- return sorterClass ;
190+ return ConfigUtils . resolveClass ( sorterClass , "sorterClass" , this ) ;
191191 }
192192
193193 public void setSorterClass (@ Nullable Class <? extends SelectionSorter > sorterClass ) {
194- this .sorterClass = sorterClass ;
194+ this .sorterClass = sorterClass == null ? null : sorterClass . getName () ;
195195 }
196196
197197 public @ Nullable Class <? extends SelectionProbabilityWeightFactory > getProbabilityWeightFactoryClass () {
198- return probabilityWeightFactoryClass ;
198+ return ConfigUtils . resolveClass ( probabilityWeightFactoryClass , "probabilityWeightFactoryClass" , this ) ;
199199 }
200200
201201 public void setProbabilityWeightFactoryClass (
202202 @ Nullable Class <? extends SelectionProbabilityWeightFactory > probabilityWeightFactoryClass ) {
203- this .probabilityWeightFactoryClass = probabilityWeightFactoryClass ;
203+ this .probabilityWeightFactoryClass =
204+ probabilityWeightFactoryClass == null ? null : probabilityWeightFactoryClass .getName ();
204205 }
205206
206207 public @ Nullable Long getSelectedCountLimit () {
@@ -226,7 +227,7 @@ public EntitySelectorConfig withMimicSelectorRef(String mimicSelectorRef) {
226227 }
227228
228229 public EntitySelectorConfig withEntityClass (Class <?> entityClass ) {
229- this .setEntityClass ( entityClass );
230+ this .entityClass = entityClass . getName ( );
230231 return this ;
231232 }
232233
@@ -246,7 +247,7 @@ public EntitySelectorConfig withNearbySelectionConfig(NearbySelectionConfig near
246247 }
247248
248249 public EntitySelectorConfig withFilterClass (Class <? extends SelectionFilter > filterClass ) {
249- this .setFilterClass ( filterClass );
250+ this .filterClass = filterClass . getName ( );
250251 return this ;
251252 }
252253
@@ -256,13 +257,12 @@ public EntitySelectorConfig withSorterManner(EntitySorterManner sorterManner) {
256257 }
257258
258259 public EntitySelectorConfig withComparatorClass (Class <? extends Comparator > comparatorClass ) {
259- this .setComparatorClass ( comparatorClass );
260+ this .comparatorClass = comparatorClass . getName ( );
260261 return this ;
261262 }
262263
263- public EntitySelectorConfig
264- withComparatorFactoryClass (Class <? extends ComparatorFactory > comparatorFactoryClass ) {
265- this .setComparatorFactoryClass (comparatorFactoryClass );
264+ public EntitySelectorConfig withComparatorFactoryClass (Class <? extends ComparatorFactory > comparatorFactoryClass ) {
265+ this .comparatorFactoryClass = comparatorFactoryClass .getName ();
266266 return this ;
267267 }
268268
@@ -272,13 +272,13 @@ public EntitySelectorConfig withSorterOrder(SelectionSorterOrder sorterOrder) {
272272 }
273273
274274 public EntitySelectorConfig withSorterClass (Class <? extends SelectionSorter > sorterClass ) {
275- this .setSorterClass ( sorterClass );
275+ this .sorterClass = sorterClass . getName ( );
276276 return this ;
277277 }
278278
279279 public EntitySelectorConfig
280280 withProbabilityWeightFactoryClass (Class <? extends SelectionProbabilityWeightFactory > factoryClass ) {
281- this .setProbabilityWeightFactoryClass ( factoryClass );
281+ this .probabilityWeightFactoryClass = factoryClass . getName ( );
282282 return this ;
283283 }
284284
@@ -297,24 +297,24 @@ public EntitySelectorConfig inherit(EntitySelectorConfig inheritedConfig) {
297297 mimicSelectorRef = ConfigUtils .inheritOverwritableProperty (mimicSelectorRef ,
298298 inheritedConfig .getMimicSelectorRef ());
299299 entityClass = ConfigUtils .inheritOverwritableProperty (entityClass ,
300- inheritedConfig .getEntityClass () );
300+ inheritedConfig .entityClass );
301301 nearbySelectionConfig = ConfigUtils .inheritConfig (nearbySelectionConfig , inheritedConfig .getNearbySelectionConfig ());
302302 cacheType = ConfigUtils .inheritOverwritableProperty (cacheType , inheritedConfig .getCacheType ());
303303 selectionOrder = ConfigUtils .inheritOverwritableProperty (selectionOrder , inheritedConfig .getSelectionOrder ());
304304 filterClass = ConfigUtils .inheritOverwritableProperty (
305- filterClass , inheritedConfig .getFilterClass () );
305+ filterClass , inheritedConfig .filterClass );
306306 sorterManner = ConfigUtils .inheritOverwritableProperty (
307307 sorterManner , inheritedConfig .getSorterManner ());
308308 comparatorClass = ConfigUtils .inheritOverwritableProperty (
309- comparatorClass , inheritedConfig .getComparatorClass () );
309+ comparatorClass , inheritedConfig .comparatorClass );
310310 comparatorFactoryClass = ConfigUtils .inheritOverwritableProperty (
311- comparatorFactoryClass , inheritedConfig .getComparatorFactoryClass () );
311+ comparatorFactoryClass , inheritedConfig .comparatorFactoryClass );
312312 sorterOrder = ConfigUtils .inheritOverwritableProperty (
313313 sorterOrder , inheritedConfig .getSorterOrder ());
314314 sorterClass = ConfigUtils .inheritOverwritableProperty (
315- sorterClass , inheritedConfig .getSorterClass () );
315+ sorterClass , inheritedConfig .sorterClass );
316316 probabilityWeightFactoryClass = ConfigUtils .inheritOverwritableProperty (
317- probabilityWeightFactoryClass , inheritedConfig .getProbabilityWeightFactoryClass () );
317+ probabilityWeightFactoryClass , inheritedConfig .probabilityWeightFactoryClass );
318318 selectedCountLimit = ConfigUtils .inheritOverwritableProperty (
319319 selectedCountLimit , inheritedConfig .getSelectedCountLimit ());
320320 return this ;
@@ -327,15 +327,15 @@ public EntitySelectorConfig copyConfig() {
327327
328328 @ Override
329329 public void visitReferencedClasses (Consumer <Class <?>> classVisitor ) {
330- classVisitor .accept (entityClass );
330+ classVisitor .accept (getEntityClass () );
331331 if (nearbySelectionConfig != null ) {
332332 nearbySelectionConfig .visitReferencedClasses (classVisitor );
333333 }
334- classVisitor .accept (filterClass );
335- classVisitor .accept (comparatorClass );
336- classVisitor .accept (comparatorFactoryClass );
337- classVisitor .accept (sorterClass );
338- classVisitor .accept (probabilityWeightFactoryClass );
334+ classVisitor .accept (getFilterClass () );
335+ classVisitor .accept (getComparatorClass () );
336+ classVisitor .accept (getComparatorFactoryClass () );
337+ classVisitor .accept (getSorterClass () );
338+ classVisitor .accept (getProbabilityWeightFactoryClass () );
339339 }
340340
341341 @ Override
0 commit comments