public Setter<?, ?> getCustomSetterTo(Type targetType) { for(SetterProperty setterProperty : lookForAll(SetterProperty.class)) { if (setterProperty.getTargetType() == null || TypeHelper.isAssignable(setterProperty.getTargetType(), targetType)) { return setterProperty.getSetter(); } } return null; }
public Setter<?, ?> getCustomSetterTo(Type targetType) { for(SetterProperty setterProperty : lookForAll(SetterProperty.class)) { if (setterProperty.getTargetType() == null || TypeHelper.isAssignable(setterProperty.getTargetType(), targetType)) { return setterProperty.getSetter(); } } return null; }
@Override public void accept(Predicate<? super K> predicate, SetterProperty setterProperty) { if (predicate instanceof CaseInsensitiveFieldKeyNamePredicate) { CaseInsensitiveFieldKeyNamePredicate p = (CaseInsensitiveFieldKeyNamePredicate) predicate; ExtendPropertyFinder.CustomProperty cp = new ExtendPropertyFinder.CustomProperty(setterProperty.getTargetType(), classMeta.getReflectionService(), p.getName(), setterProperty.getPropertyType(), setterProperty.getSetter(), NullGetter.getter()); if (propertyPredicate.test(cp)) { customProperties.add(cp); } } } });
@Override public void accept(Predicate<? super K> predicate, SetterProperty setterProperty) { if (predicate instanceof CaseInsensitiveFieldKeyNamePredicate) { CaseInsensitiveFieldKeyNamePredicate p = (CaseInsensitiveFieldKeyNamePredicate) predicate; ExtendPropertyFinder.CustomProperty cp = new ExtendPropertyFinder.CustomProperty(setterProperty.getTargetType(), classMeta.getReflectionService(), p.getName(), setterProperty.getPropertyType(), setterProperty.getSetter(), NullGetter.getter()); if (propertyPredicate.test(cp)) { customProperties.add(cp); } } } });
@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; }
@Test public void testSetterProperty() { Setter<Object, Object> setter = new Setter<Object, Object>() { @Override public void set(Object target, Object value) throws Exception { } @Override public String toString() { return "S"; } }; SetterProperty property = new SetterProperty(setter); assertSame(setter, property.getSetter()); assertEquals("Setter{S}", property.toString()); }