@Override public void handle(PropertyMapping<T, ?, K> tkPropertyMapping) { if (tkPropertyMapping.getColumnDefinition().has(IgnoreRowIfNullProperty.class)) { mandatoryKeys.add(tkPropertyMapping.getColumnKey()); } } }).mandatoryKeys;
@Override public void handle(PropertyMapping<T, ?, K> tkPropertyMapping) { if (tkPropertyMapping.getColumnDefinition().has(IgnoreRowIfNullProperty.class)) { mandatoryKeys.add(tkPropertyMapping.getColumnKey()); } } }).mandatoryKeys;
private void handleSelfPropertyMetaInvalidation(MapperBuilderErrorHandler errorHandler) { List<K> invalidateKeys = new ArrayList<K>(); for(ListIterator<PropertyMapping<T, ?, K>> iterator = properties.listIterator(); iterator.hasNext();) { PropertyMapping<T, ?, K> propertyMapping = iterator.next(); if (propertyMapping != null && !propertyMapping.getPropertyMeta().isValid()) { iterator.set(null); if (!propertyMapping.getColumnDefinition().has(OptionalProperty.class)) { invalidateKeys.add(propertyMapping.getColumnKey()); } } } for(K k : invalidateKeys) { errorHandler.propertyNotFound(classMeta.getType(), k.getName()); } }
private void handleSelfPropertyMetaInvalidation(MapperBuilderErrorHandler errorHandler) { List<K> invalidateKeys = new ArrayList<K>(); for(ListIterator<PropertyMapping<T, ?, K>> iterator = properties.listIterator(); iterator.hasNext();) { PropertyMapping<T, ?, K> propertyMapping = iterator.next(); if (propertyMapping != null && !propertyMapping.getPropertyMeta().isValid()) { iterator.set(null); if (!propertyMapping.getColumnDefinition().has(OptionalProperty.class)) { invalidateKeys.add(propertyMapping.getColumnKey()); } } } for(K k : invalidateKeys) { errorHandler.propertyNotFound(classMeta.getType(), k.getName()); } }
@Override public void handle(PropertyMapping<T, ?, K> propertyMapping) { getter = getterFactory.newGetter(propertyMapping.getPropertyMeta().getPropertyType(), propertyMapping.getColumnKey(), mappingContextFactoryBuilder, propertyMapping.getColumnDefinition().properties()); } }).getter;
@SuppressWarnings("unchecked") private <P, I> ContextualIndexedSetter<PreparedStatement, P> getSetterWithConvertion(Class<P> pclazz, Class<I> iclass, ContextFactoryBuilder contextFactoryBuilder, PropertyMapping<?, ?, JdbcColumnKey> pm) { ContextualConverter<? super P, ? extends I> converter = ConverterService.getInstance().findConverter(pclazz, iclass, contextFactoryBuilder, pm.getColumnDefinition().properties()); if (converter != null) { ContextualIndexedSetter<PreparedStatement, I> indexedSetter = getIndexedSetter(iclass, pm, contextFactoryBuilder); if (indexedSetter != null) { return new ConvertDelegateIndexSetter<P, I>(indexedSetter, converter); } } return null; }
@Override public void handle(PropertyMapping<T, ?, K> propertyMapping) { getter = getterFactory.newGetter(propertyMapping.getPropertyMeta().getPropertyType(), propertyMapping.getColumnKey(), mappingContextFactoryBuilder, propertyMapping.getColumnDefinition().properties()); } }).getter;
@SuppressWarnings("unchecked") private <P, I> ContextualIndexedSetter<PreparedStatement, P> getSetterWithConvertion(Class<P> pclazz, Class<I> iclass, ContextFactoryBuilder contextFactoryBuilder, PropertyMapping<?, ?, JdbcColumnKey> pm) { ContextualConverter<? super P, ? extends I> converter = ConverterService.getInstance().findConverter(pclazz, iclass, contextFactoryBuilder, pm.getColumnDefinition().properties()); if (converter != null) { ContextualIndexedSetter<PreparedStatement, I> indexedSetter = getIndexedSetter(iclass, pm, contextFactoryBuilder); if (indexedSetter != null) { return new ConvertDelegateIndexSetter<P, I>(indexedSetter, converter); } } return null; }
private boolean isTargetForMapperFieldMapper(PropertyMapping pm) { return pm.getPropertyMeta().isSubProperty() || (JoinUtils.isArrayElement(pm.getPropertyMeta()) && pm.getColumnDefinition().isKey()); }
private boolean isTargetForMapperFieldMapper(PropertyMapping pm) { return pm.getPropertyMeta().isSubProperty() || (JoinUtils.isArrayElement(pm.getPropertyMeta()) && pm.getColumnDefinition().isKey()); }
private <P> SourceMapper<S, P> getterPropertyMapper(PropertyMeta<T, P> owner, PropertyMapping<T, ?, K> propertyMapping) { PropertyMeta<T, ?> pm = propertyMapping.getPropertyMeta(); final ContextualGetter<? super S, P> getter = (ContextualGetter<? super S, P>) fieldMapperFactory.getGetterFromSource(propertyMapping.getColumnKey(), pm.getPropertyType(), propertyMapping.getColumnDefinition(), pm.getPropertyClassMetaSupplier(), mappingContextFactoryBuilder); return new GetterMapper<S, P>(getter); }
private <P> SourceMapper<S, P> getterPropertyMapper(PropertyMeta<T, P> owner, PropertyMapping<T, ?, K> propertyMapping) { PropertyMeta<T, ?> pm = propertyMapping.getPropertyMeta(); final ContextualGetter<? super S, P> getter = (ContextualGetter<? super S, P>) fieldMapperFactory.getGetterFromSource(propertyMapping.getColumnKey(), pm.getPropertyType(), propertyMapping.getColumnDefinition(), pm.getPropertyClassMetaSupplier(), mappingContextFactoryBuilder); return new GetterMapper<S, P>(getter); }
@SuppressWarnings("unchecked") private <S, P> ContextualSetter<Appendable, ? super P> getSetter(PropertyMapping<S, P, CsvColumnKey> pm, CellWriter cellWriter) { final SetterProperty setterProperty = pm.getColumnDefinition().lookFor(SetterProperty.class); if (setterProperty != null) { return new CellWriterSetterWrapper<P>(cellWriter, ContextualSetterAdapter.of ((Setter<Appendable, P>) setterProperty.getSetter())); } ContextualSetter<Appendable, ? super P> setter = setterFromFactory(pm); if (setter != null) { return new CellWriterSetterWrapper<P>(cellWriter, setter); } return null; }
@SuppressWarnings("unchecked") private <S, P> ContextualSetter<Appendable, ? super P> getSetter(PropertyMapping<S, P, CsvColumnKey> pm, CellWriter cellWriter) { final SetterProperty setterProperty = pm.getColumnDefinition().lookFor(SetterProperty.class); if (setterProperty != null) { return new CellWriterSetterWrapper<P>(cellWriter, ContextualSetterAdapter.of ((Setter<Appendable, P>) setterProperty.getSetter())); } ContextualSetter<Appendable, ? super P> setter = setterFromFactory(pm); if (setter != null) { return new CellWriterSetterWrapper<P>(cellWriter, setter); } return null; }
@SuppressWarnings("unchecked") protected <P> FieldMapper<S, T> newFieldMapper(PropertyMapping<T, P, K> t) { ColumnDefinition<K, ?> columnDefinition = t.getColumnDefinition(); FieldMapper<S, T> fieldMapper = null; if (columnDefinition.has(FieldMapperProperty.class)) { fieldMapper = (FieldMapper<S, T>) columnDefinition.lookFor(FieldMapperProperty.class).getFieldMapper(); } if (fieldMapper == null) { fieldMapper = fieldMapperFactory.newFieldMapper(t, mappingContextFactoryBuilder, mapperConfig.mapperBuilderErrorHandler()); } return wrapFieldMapperWithErrorHandler(t.getColumnKey(), fieldMapper); }
@SuppressWarnings("unchecked") protected <P> FieldMapper<S, T> newFieldMapper(PropertyMapping<T, P, K> t) { ColumnDefinition<K, ?> columnDefinition = t.getColumnDefinition(); FieldMapper<S, T> fieldMapper = null; if (columnDefinition.has(FieldMapperProperty.class)) { fieldMapper = (FieldMapper<S, T>) columnDefinition.lookFor(FieldMapperProperty.class).getFieldMapper(); } if (fieldMapper == null) { fieldMapper = fieldMapperFactory.newFieldMapper(t, mappingContextFactoryBuilder, mapperConfig.mapperBuilderErrorHandler()); } return wrapFieldMapperWithErrorHandler(t.getColumnKey(), fieldMapper); }
@SuppressWarnings("unchecked") private <P> SourceMapper<S, P> subPropertyMapper(PropertyMeta<T, P> owner, List<PropertyMapping<T, ?, K>> properties, MappingContextFactoryBuilder<S, K> mappingContextFactoryBuilder) { final ConstantSourceMapperBuilder<S, P, K> builder = newSubBuilder(owner.getPropertyClassMeta(), mappingContextFactoryBuilder, (PropertyFinder<P>) propertyMappingsBuilder.getPropertyFinder().getSubPropertyFinder(owner)); for(PropertyMapping<T, ?, K> pm : properties) { final SubPropertyMeta<T, P, ?> propertyMeta = (SubPropertyMeta<T, P, ?>) pm.getPropertyMeta(); final PropertyMeta<P, ?> subProperty = ((SubPropertyMeta<T, P, ?>) propertyMeta).getSubProperty(); builder.addMapping(pm.getColumnKey(), pm.getColumnDefinition(), subProperty); } return builder.sourceFieldMapper(); }
private <T, P> FieldMapper<Object, T> createFieldMapper( Class<T> target, String property, Getter<Object, P> getter) { PropertyMapping<T, P, SampleFieldKey> pm = createPropertyMapping(target, property); when(getterFactory.<P>newGetter(pm.getPropertyMeta().getPropertyType(), pm.getColumnKey(), pm.getColumnDefinition().properties())).thenReturn(getter); return constantSourceFieldMapperFactory.newFieldMapper(pm, mappingContextFactoryBuilder, MAPPING_ERROR_HANDLER); } public static <T, P> PropertyMapping<T, P, SampleFieldKey> createPropertyMapping(
@SuppressWarnings("unchecked") private <P> SourceMapper<S, P> subPropertyMapper(PropertyMeta<T, P> owner, List<PropertyMapping<T, ?, K>> properties, MappingContextFactoryBuilder<S, K> mappingContextFactoryBuilder) { final ConstantSourceMapperBuilder<S, P, K> builder = newSubBuilder(owner.getPropertyClassMeta(), mappingContextFactoryBuilder, (PropertyFinder<P>) propertyMappingsBuilder.getPropertyFinder().getSubPropertyFinder(owner)); for(PropertyMapping<T, ?, K> pm : properties) { final SubPropertyMeta<T, P, ?> propertyMeta = (SubPropertyMeta<T, P, ?>) pm.getPropertyMeta(); final PropertyMeta<P, ?> subProperty = ((SubPropertyMeta<T, P, ?>) propertyMeta).getSubProperty(); builder.addMapping(pm.getColumnKey(), pm.getColumnDefinition(), subProperty); } return builder.sourceFieldMapper(); }
@Test public void testAnnotations() { final ClassMeta<ObjectWithAnnotation> classMeta = ReflectionService.newInstance().getClassMeta(ObjectWithAnnotation.class); PropertyMappingsBuilder<ObjectWithAnnotation, SampleFieldKey> builder2 = defaultPropertyMappingBuilder(classMeta); builder2.addProperty(new SampleFieldKey("id", 0), FieldMapperColumnDefinition.<SampleFieldKey>identity()); List<PropertyMapping<ObjectWithAnnotation, ?, SampleFieldKey>> propertyMappings = builder2.currentProperties(); assertTrue(propertyMappings.get(0).getColumnDefinition().isKey()); }