public SCompositeValueSetter set(SType<?> type, Object value) { if (value != null) { instance.setValue(type, value); } else { Optional.ofNullable(instance.getField(type)).ifPresent(SInstance::clearInstance); } return this; }
@Override public final void setValue(String fieldPath, Object value) { setValue(new PathReader(fieldPath), value); }
public SCompositeValueSetter set(SType<?> tipo, Object value) { if (value != null) { instancia.setValue(tipo, value); } else { Optional.ofNullable(instancia.getField(tipo)).ifPresent(SInstance::clearInstance); } return this; }
/** * Appends a copy of every SInstance at the provided collection {@param instances} to the list of selection elements * @param instances * @return * */ public void addAll(Collection<? extends SInstance> instances) { instances.forEach(i -> add().get().setValue(i)); }
@Override public void fillInstance(SInstance ins, T obj) { if (!(ins instanceof SIComposite)) { throw new SingularFormException("AutoSICompositeConverter somente funciona com instancias compostas."); } final SIComposite cins = (SIComposite) ins; final GetterHandler getterHandler = new Mirror().on(obj).get(); cins.getType().getFields().forEach(f -> cins.setValue(f, getterHandler.field(f.getNameSimple()))); }