@SuppressWarnings("unchecked") private <S, P> FieldMapper<S, T> buildFieldMapper(Getter<? super S, ? extends P> getter, ContextualSetter<? super T, ? super P> setter, Type propertyType) { if (TypeHelper.isPrimitive(propertyType)) { if (getter instanceof BooleanGetter && setter instanceof BooleanContextualSetter) { return new BooleanConstantTargetFieldMapper<S, T>((BooleanGetter<S>)getter, (BooleanContextualSetter<T>) setter); } else if (getter instanceof ByteGetter && setter instanceof ByteContextualSetter) { return new ByteConstantTargetFieldMapper<S, T>((ByteGetter<S>)getter, (ByteContextualSetter<T>) setter); } else if (getter instanceof CharacterGetter && setter instanceof CharacterContextualSetter) { return new CharacterConstantTargetFieldMapper<S, T>((CharacterGetter<S>)getter, (CharacterContextualSetter<T>) setter); } else if (getter instanceof ShortGetter && setter instanceof ShortContextualSetter) { return new ShortConstantTargetFieldMapper<S, T>((ShortGetter<S>)getter, (ShortContextualSetter<T>) setter); } else if (getter instanceof IntGetter && setter instanceof IntContextualSetter) { return new IntConstantTargetFieldMapper<S, T>((IntGetter<S>)getter, (IntContextualSetter<T>) setter); } else if (getter instanceof LongGetter && setter instanceof LongContextualSetter) { return new LongConstantTargetFieldMapper<S, T>((LongGetter<S>)getter, (LongContextualSetter<T>) setter); } else if (getter instanceof FloatGetter && setter instanceof FloatContextualSetter) { return new FloatConstantTargetFieldMapper<S, T>((FloatGetter<S>)getter, (FloatContextualSetter<T>) setter); } else if (getter instanceof DoubleGetter && setter instanceof DoubleContextualSetter) { return new DoubleConstantTargetFieldMapper<S, T>((DoubleGetter<S>)getter, (DoubleContextualSetter<T>) setter); } } return new ConstantTargetFieldMapper<S, T, P>(getter, setter); }
@SuppressWarnings("unchecked") private <S, P> FieldMapper<S, T> buildFieldMapper(Getter<? super S, ? extends P> getter, ContextualSetter<? super T, ? super P> setter, Type propertyType) { if (TypeHelper.isPrimitive(propertyType)) { if (getter instanceof BooleanGetter && setter instanceof BooleanContextualSetter) { return new BooleanConstantTargetFieldMapper<S, T>((BooleanGetter<S>)getter, (BooleanContextualSetter<T>) setter); } else if (getter instanceof ByteGetter && setter instanceof ByteContextualSetter) { return new ByteConstantTargetFieldMapper<S, T>((ByteGetter<S>)getter, (ByteContextualSetter<T>) setter); } else if (getter instanceof CharacterGetter && setter instanceof CharacterContextualSetter) { return new CharacterConstantTargetFieldMapper<S, T>((CharacterGetter<S>)getter, (CharacterContextualSetter<T>) setter); } else if (getter instanceof ShortGetter && setter instanceof ShortContextualSetter) { return new ShortConstantTargetFieldMapper<S, T>((ShortGetter<S>)getter, (ShortContextualSetter<T>) setter); } else if (getter instanceof IntGetter && setter instanceof IntContextualSetter) { return new IntConstantTargetFieldMapper<S, T>((IntGetter<S>)getter, (IntContextualSetter<T>) setter); } else if (getter instanceof LongGetter && setter instanceof LongContextualSetter) { return new LongConstantTargetFieldMapper<S, T>((LongGetter<S>)getter, (LongContextualSetter<T>) setter); } else if (getter instanceof FloatGetter && setter instanceof FloatContextualSetter) { return new FloatConstantTargetFieldMapper<S, T>((FloatGetter<S>)getter, (FloatContextualSetter<T>) setter); } else if (getter instanceof DoubleGetter && setter instanceof DoubleContextualSetter) { return new DoubleConstantTargetFieldMapper<S, T>((DoubleGetter<S>)getter, (DoubleContextualSetter<T>) setter); } } return new ConstantTargetFieldMapper<S, T, P>(getter, setter); }
return new BooleanConstantTargetFieldMapper<S, Appendable>((BooleanGetter<? super S>) getter, new BooleanAppendableSetter(cellWriter)); } else if (getter instanceof ByteGetter) { return new ByteConstantTargetFieldMapper<S, Appendable>((ByteGetter<? super S>) getter, new ByteAppendableSetter(cellWriter)); } else if (getter instanceof CharacterGetter) { return new CharacterConstantTargetFieldMapper<S, Appendable>((CharacterGetter<? super S>) getter, new CharacterAppendableSetter(cellWriter));
return new BooleanConstantTargetFieldMapper<S, Appendable>((BooleanGetter<? super S>) getter, new BooleanAppendableSetter(cellWriter)); } else if (getter instanceof ByteGetter) { return new ByteConstantTargetFieldMapper<S, Appendable>((ByteGetter<? super S>) getter, new ByteAppendableSetter(cellWriter)); } else if (getter instanceof CharacterGetter) { return new CharacterConstantTargetFieldMapper<S, Appendable>((CharacterGetter<? super S>) getter, new CharacterAppendableSetter(cellWriter));