public <P> PropertyMapping<T, P, K> addProperty(final K key, final ColumnDefinition<K, ?> columnDefinition, final PropertyMeta<T, P> prop) { if (columnDefinition.hasCustomSourceFrom(prop.getOwnerType())) { Type type = prop.getPropertyType(); if (!checkTypeCompatibility(key, columnDefinition.getCustomSourceReturnTypeFrom(prop.getOwnerType()), type)) { properties.add(null); return null; } } Object[] definedProperties = prop.getDefinedProperties(); ColumnDefinition<K, ?> mergeColumnDefinition = definedProperties != null ? columnDefinition.add(definedProperties) : columnDefinition; PropertyMapping<T, P, K> propertyMapping = new PropertyMapping<T, P, K>(prop, key, mergeColumnDefinition); properties.add(propertyMapping); propertyFinder.manualMatch(prop); return propertyMapping; }
public <P> PropertyMapping<T, P, K> addProperty(final K key, final ColumnDefinition<K, ?> columnDefinition, final PropertyMeta<T, P> prop) { if (columnDefinition.hasCustomSourceFrom(prop.getOwnerType())) { Type type = prop.getPropertyType(); if (!checkTypeCompatibility(key, columnDefinition.getCustomSourceReturnTypeFrom(prop.getOwnerType()), type)) { properties.add(null); return null; } } Object[] definedProperties = prop.getDefinedProperties(); ColumnDefinition<K, ?> mergeColumnDefinition = definedProperties != null ? columnDefinition.add(definedProperties) : columnDefinition; PropertyMapping<T, P, K> propertyMapping = new PropertyMapping<T, P, K>(prop, key, mergeColumnDefinition); properties.add(propertyMapping); propertyFinder.manualMatch(prop); return propertyMapping; }