private <T, E> ClassMeta<T> newCollectionMeta(Type type) { return ArrayClassMeta.<T, E>of(type, TypeHelper.getComponentTypeOfListOrArray(type), this); }
private <T, E> ClassMeta<T> newCollectionMeta(Type type) { return ArrayClassMeta.<T, E>of(type, TypeHelper.getComponentTypeOfListOrArray(type), this); }
@SuppressWarnings("unchecked") public <T, E> IntFactory<Getter<T, E>> newGetterFactory() { if (TypeHelper.isArray(type)) { Type elementType = TypeHelper.getComponentTypeOfListOrArray(type);
@SuppressWarnings("unchecked") public <T, E> IntFactory<Getter<T, E>> newGetterFactory() { if (TypeHelper.isArray(type)) { Type elementType = TypeHelper.getComponentTypeOfListOrArray(type);
@Override public ContextualConverter<? super Array, ? extends List> newConverter(ConvertingTypes targetedTypes, ContextFactoryBuilder contextFactoryBuilder, Object... params) { Type elementType = TypeHelper.getComponentTypeOfListOrArray(targetedTypes.getTo()); Getter<? super ResultSet, ?> getter = ResultSetGetterFactory.INSTANCE.newGetter(elementType, new JdbcColumnKey("elt", 2), params); return new SqlArrayToListConverter<Object>( getter); } });
@Override public ContextualConverter<? super Array, ? extends List> newConverter(ConvertingTypes targetedTypes, ContextFactoryBuilder contextFactoryBuilder, Object... params) { Type elementType = TypeHelper.getComponentTypeOfListOrArray(targetedTypes.getTo()); Getter<? super ResultSet, ?> getter = ResultSetGetterFactory.INSTANCE.newGetter(elementType, new JdbcColumnKey("elt", 2), params); return new SqlArrayToListConverter<Object>( getter); } });
@Override public ContextualConverter<? super Array, ? extends Object> newConverter(ConvertingTypes targetedTypes, ContextFactoryBuilder contextFactoryBuilder, Object... params) { Type elementType = TypeHelper.getComponentTypeOfListOrArray(targetedTypes.getTo()); Getter<? super ResultSet, ?> getter = ResultSetGetterFactory.INSTANCE.newGetter(elementType, new JdbcColumnKey("elt", 2), params); return new SqlArrayToJavaArrayConverter<Object>(TypeHelper.<Object>toClass(elementType), getter); }
@Override public ContextualConverter<? super Array, ? extends Object> newConverter(ConvertingTypes targetedTypes, ContextFactoryBuilder contextFactoryBuilder, Object... params) { Type elementType = TypeHelper.getComponentTypeOfListOrArray(targetedTypes.getTo()); Getter<? super ResultSet, ?> getter = ResultSetGetterFactory.INSTANCE.newGetter(elementType, new JdbcColumnKey("elt", 2), params); return new SqlArrayToJavaArrayConverter<Object>(TypeHelper.<Object>toClass(elementType), getter); }
Type elementType = TypeHelper.getComponentTypeOfListOrArray(target); Class<?> dataTypeClass = Object.class; Class<?> dataTypeElt = null;
@SuppressWarnings("unchecked") public <S, T, K extends FieldKey<K>> BiInstantiator<S, MappingContext<?>, T> getBiInstantiator(final Type source, final Type target, final PropertyMappingsBuilder<T, K> propertyMappingsBuilder, final Map<Parameter, ContextualGetter<? super S, ?>> constructorParameterGetterMap, final ContextualGetterFactory<? super S, K> getterFactory, final boolean useAsmIfEnabled, final boolean builderIgnoresNullValues, final MappingContextFactoryBuilder<? super S, K> mappingContextFactoryBuilder) throws NoSuchMethodException { if (propertyMappingsBuilder.isSelfProperty()) { ContextualGetter getter = propertyMappingsBuilder.forEachProperties(new ForEachCallBack<PropertyMapping<T, ?, K>>() { public ContextualGetter getter; @Override public void handle(PropertyMapping<T, ?, K> propertyMapping) { getter = getterFactory.newGetter(propertyMapping.getPropertyMeta().getPropertyType(), propertyMapping.getColumnKey(), mappingContextFactoryBuilder, propertyMapping.getColumnDefinition().properties()); } }).getter; return new ContextualGetterBiInstantiator<S, T>(getter); } if (TypeHelper.isArray(target)) { return instantiatorFactory.<S, MappingContext<?>, T>getArrayBiInstantiator(TypeHelper.toClass(TypeHelper.getComponentTypeOfListOrArray(target)), propertyMappingsBuilder.forEachProperties(new CalculateMaxIndex<T, K>()).maxIndex + 1); } else { List<InstantiatorDefinition> instantiatorDefinitions = propertyMappingsBuilder.getPropertyFinder().getEligibleInstantiatorDefinitions(); return instantiatorFactory. <S, MappingContext<?>, T> getBiInstantiator( target, TypeHelper.<S>toClass(source), MappingContext.class, instantiatorDefinitions, convertToBiInstantiator(constructorParameterGetterMap), useAsmIfEnabled, builderIgnoresNullValues); } }
@SuppressWarnings("unchecked") public <S, T, K extends FieldKey<K>> BiInstantiator<S, MappingContext<?>, T> getBiInstantiator(final Type source, final Type target, final PropertyMappingsBuilder<T, K> propertyMappingsBuilder, final Map<Parameter, ContextualGetter<? super S, ?>> constructorParameterGetterMap, final ContextualGetterFactory<? super S, K> getterFactory, final boolean useAsmIfEnabled, final boolean builderIgnoresNullValues, final MappingContextFactoryBuilder<? super S, K> mappingContextFactoryBuilder) throws NoSuchMethodException { if (propertyMappingsBuilder.isSelfProperty()) { ContextualGetter getter = propertyMappingsBuilder.forEachProperties(new ForEachCallBack<PropertyMapping<T, ?, K>>() { public ContextualGetter getter; @Override public void handle(PropertyMapping<T, ?, K> propertyMapping) { getter = getterFactory.newGetter(propertyMapping.getPropertyMeta().getPropertyType(), propertyMapping.getColumnKey(), mappingContextFactoryBuilder, propertyMapping.getColumnDefinition().properties()); } }).getter; return new ContextualGetterBiInstantiator<S, T>(getter); } if (TypeHelper.isArray(target)) { return instantiatorFactory.<S, MappingContext<?>, T>getArrayBiInstantiator(TypeHelper.toClass(TypeHelper.getComponentTypeOfListOrArray(target)), propertyMappingsBuilder.forEachProperties(new CalculateMaxIndex<T, K>()).maxIndex + 1); } else { List<InstantiatorDefinition> instantiatorDefinitions = propertyMappingsBuilder.getPropertyFinder().getEligibleInstantiatorDefinitions(); return instantiatorFactory. <S, MappingContext<?>, T> getBiInstantiator( target, TypeHelper.<S>toClass(source), MappingContext.class, instantiatorDefinitions, convertToBiInstantiator(constructorParameterGetterMap), useAsmIfEnabled, builderIgnoresNullValues); } }
Type lEltType = TypeHelper.getComponentTypeOfListOrArray(propertyType); if (TypeHelper.areEquals(lEltType, dEltType)) { setter = new ListSettableDataSetter(arg.getColumnKey().getIndex()); Type lEltType = TypeHelper.getComponentTypeOfListOrArray(propertyType); if (TypeHelper.areEquals(lEltType, dEltType)) { setter = new SetSettableDataSetter(arg.getColumnKey().getIndex());