public static ArrayProvider of(BeanSpec beanSpec, Genie genie) { if (!beanSpec.isArray()) { throw new IllegalArgumentException("Array bean spec required"); } Class arrayClass = beanSpec.rawType(); return new ArrayProvider(arrayClass.getComponentType(), beanSpec.toList(), genie); }
public static ArrayProvider of(BeanSpec beanSpec, Genie genie) { if (!beanSpec.isArray()) { throw new IllegalArgumentException("Array bean spec required"); } Class arrayClass = beanSpec.rawType(); return new ArrayProvider(arrayClass.getComponentType(), beanSpec.toList(), genie); }
public BeanSpec componentSpec() { if (!componentSpecSet) { synchronized (this) { if (!componentSpecSet) { componentSpecSet = true; if (isArray()) { componentSpec = BeanSpec.of(rawType.getComponentType(), injector); } else { List<Type> typeParams = typeParams(); if (!typeParams.isEmpty()) { componentSpec = BeanSpec.of(typeParams.get(0), injector); } } } } } return componentSpec; }
public BeanSpec componentSpec() { if (!componentSpecSet) { synchronized (this) { if (!componentSpecSet) { componentSpecSet = true; if (isArray()) { componentSpec = BeanSpec.of(rawType.getComponentType(), injector); } else { List<Type> typeParams = typeParams(); if (!typeParams.isEmpty()) { componentSpec = BeanSpec.of(typeParams.get(0), injector); } } } } } return componentSpec; }
@Override protected ParamValueLoader findContextSpecificLoader( String bindName, BeanSpec spec ) { boolean isArray = spec.isArray(); String defVal = null; DefaultValue defaultValue = spec.getAnnotation(DefaultValue.class); if (null != defaultValue) { defVal = defaultValue.value(); } StringValueResolver resolver = findResolver(spec, isArray); //= isArray ? resolverManager.resolver(rawType.getComponentType(), spec) : resolverManager.resolver(rawType, spec); Required required = spec.getAnnotation(Required.class); Optional optional = null == required ? spec.getAnnotation(Optional.class) : null; if (null != required) { return new OptionLoader(bindName, required, resolver, spec); } else if (null != optional) { return new OptionLoader(bindName, optional, resolver, spec); } return isArray ? new CliVarArgumentLoader(spec.rawType().getComponentType(), resolver) : new CliArgumentLoader(resolver, defVal); }
} else { if (spec.isArray()) { return ArrayProvider.of(spec, this);
@Override protected ParamValueLoader findContextSpecificLoader( String bindName, BeanSpec spec ) { boolean isArray = spec.isArray(); String defVal = null; DefaultValue defaultValue = spec.getAnnotation(DefaultValue.class); if (null != defaultValue) { defVal = defaultValue.value(); } StringValueResolver resolver = findResolver(spec, isArray); //= isArray ? resolverManager.resolver(rawType.getComponentType(), spec) : resolverManager.resolver(rawType, spec); Required required = spec.getAnnotation(Required.class); Optional optional = null == required ? spec.getAnnotation(Optional.class) : null; if (null != required) { return new OptionLoader(bindName, required, resolver, spec); } else if (null != optional) { return new OptionLoader(bindName, optional, resolver, spec); } return isArray ? new CliVarArgumentLoader(spec.rawType().getComponentType(), resolver) : new CliArgumentLoader(resolver, defVal); }
} else { if (spec.isArray()) { return ArrayProvider.of(spec, this);
String path = S.join(nameChain).by(".").get(); if (!fastJsonPropertyPreFilter.matches(path)) { if (spec.isArray() || Iterable.class.isAssignableFrom(spec.rawType())) { return Act.getInstance(spec.rawType()); } else {
String path = S.join(nameChain).by(".").get(); if (!fastJsonPropertyPreFilter.matches(path)) { if (spec.isArray() || Iterable.class.isAssignableFrom(spec.rawType())) { return Act.getInstance(spec.rawType()); } else {