11package com .featurevisor .sdk ;
22
3+ import com .fasterxml .jackson .core .type .TypeReference ;
34import java .util .Map ;
45import java .util .HashMap ;
56import java .util .List ;
@@ -236,11 +237,69 @@ public List<String> getVariableArray(String featureKey, String variableKey, Map<
236237 }
237238
238239 public List <String > getVariableArray (String featureKey , String variableKey , Map <String , Object > context ) {
239- return getVariableArray (featureKey , variableKey , context , null );
240+ return getVariableArray (featureKey , variableKey , context , ( Featurevisor . OverrideOptions ) null );
240241 }
241242
242243 public List <String > getVariableArray (String featureKey , String variableKey ) {
243- return getVariableArray (featureKey , variableKey , null , null );
244+ return getVariableArray (featureKey , variableKey , null , (Featurevisor .OverrideOptions ) null );
245+ }
246+
247+ public <T > List <T > getVariableArray (
248+ String featureKey ,
249+ String variableKey ,
250+ Map <String , Object > context ,
251+ Featurevisor .OverrideOptions options ,
252+ Class <T > itemType
253+ ) {
254+ return this .parent .getVariableArray (
255+ featureKey ,
256+ variableKey ,
257+ mergeContexts (this .context , context ),
258+ mergeOverrideOptions (options ),
259+ itemType
260+ );
261+ }
262+
263+ public <T > List <T > getVariableArray (
264+ String featureKey ,
265+ String variableKey ,
266+ Map <String , Object > context ,
267+ Class <T > itemType
268+ ) {
269+ return getVariableArray (featureKey , variableKey , context , null , itemType );
270+ }
271+
272+ public <T > List <T > getVariableArray (String featureKey , String variableKey , Class <T > itemType ) {
273+ return getVariableArray (featureKey , variableKey , null , null , itemType );
274+ }
275+
276+ public <T > T getVariableArray (
277+ String featureKey ,
278+ String variableKey ,
279+ Map <String , Object > context ,
280+ Featurevisor .OverrideOptions options ,
281+ TypeReference <T > typeRef
282+ ) {
283+ return this .parent .getVariableArray (
284+ featureKey ,
285+ variableKey ,
286+ mergeContexts (this .context , context ),
287+ mergeOverrideOptions (options ),
288+ typeRef
289+ );
290+ }
291+
292+ public <T > T getVariableArray (
293+ String featureKey ,
294+ String variableKey ,
295+ Map <String , Object > context ,
296+ TypeReference <T > typeRef
297+ ) {
298+ return getVariableArray (featureKey , variableKey , context , null , typeRef );
299+ }
300+
301+ public <T > T getVariableArray (String featureKey , String variableKey , TypeReference <T > typeRef ) {
302+ return getVariableArray (featureKey , variableKey , null , null , typeRef );
244303 }
245304
246305 public <T > T getVariableObject (String featureKey , String variableKey , Map <String , Object > context , Featurevisor .OverrideOptions options ) {
@@ -253,11 +312,69 @@ public <T> T getVariableObject(String featureKey, String variableKey, Map<String
253312 }
254313
255314 public <T > T getVariableObject (String featureKey , String variableKey , Map <String , Object > context ) {
256- return getVariableObject (featureKey , variableKey , context , null );
315+ return getVariableObject (featureKey , variableKey , context , ( Featurevisor . OverrideOptions ) null );
257316 }
258317
259318 public <T > T getVariableObject (String featureKey , String variableKey ) {
260- return getVariableObject (featureKey , variableKey , null , null );
319+ return getVariableObject (featureKey , variableKey , null , (Featurevisor .OverrideOptions ) null );
320+ }
321+
322+ public <T > T getVariableObject (
323+ String featureKey ,
324+ String variableKey ,
325+ Map <String , Object > context ,
326+ Featurevisor .OverrideOptions options ,
327+ Class <T > type
328+ ) {
329+ return this .parent .getVariableObject (
330+ featureKey ,
331+ variableKey ,
332+ mergeContexts (this .context , context ),
333+ mergeOverrideOptions (options ),
334+ type
335+ );
336+ }
337+
338+ public <T > T getVariableObject (
339+ String featureKey ,
340+ String variableKey ,
341+ Map <String , Object > context ,
342+ Class <T > type
343+ ) {
344+ return getVariableObject (featureKey , variableKey , context , null , type );
345+ }
346+
347+ public <T > T getVariableObject (String featureKey , String variableKey , Class <T > type ) {
348+ return getVariableObject (featureKey , variableKey , null , null , type );
349+ }
350+
351+ public <T > T getVariableObject (
352+ String featureKey ,
353+ String variableKey ,
354+ Map <String , Object > context ,
355+ Featurevisor .OverrideOptions options ,
356+ TypeReference <T > typeRef
357+ ) {
358+ return this .parent .getVariableObject (
359+ featureKey ,
360+ variableKey ,
361+ mergeContexts (this .context , context ),
362+ mergeOverrideOptions (options ),
363+ typeRef
364+ );
365+ }
366+
367+ public <T > T getVariableObject (
368+ String featureKey ,
369+ String variableKey ,
370+ Map <String , Object > context ,
371+ TypeReference <T > typeRef
372+ ) {
373+ return getVariableObject (featureKey , variableKey , context , null , typeRef );
374+ }
375+
376+ public <T > T getVariableObject (String featureKey , String variableKey , TypeReference <T > typeRef ) {
377+ return getVariableObject (featureKey , variableKey , null , null , typeRef );
261378 }
262379
263380 public <T > T getVariableJSON (String featureKey , String variableKey , Map <String , Object > context , Featurevisor .OverrideOptions options ) {
0 commit comments