@Override public Content toObject(SIComposite ins) { return Value.dehydrate(ins); } });
@Override public Content toObject(SIComposite ins) { return Value.dehydrate(ins); } });
private static void toList(List<Content> value, SInstance instance) { if (instance instanceof SIList<?>) { for (SInstance i : ((SIList<?>) instance).getValues()) { value.add(dehydrate(i)); } } }
private static void toList(List<Content> value, SInstance instancia) { if (instancia instanceof SIList<?>) { for (SInstance i : ((SIList<?>) instancia).getValues()) { value.add(dehydrate(i)); } } }
public static FormState keepState(SInstance instance) { return new FormState(dehydrate(instance)); }
public static FormState keepState(SInstance instance) { return new FormState(dehydrate(instance)); }
private static void toMap(Map<String, Content> value, SInstance instance) { if (instance instanceof SIComposite) { SIComposite item = (SIComposite) instance; for (SInstance i : item.getAllChildren()) { value.put(i.getName(), dehydrate(i)); } } }
private static void toMap(Map<String, Content> value, SInstance instancia) { if (instancia instanceof SIComposite) { SIComposite item = (SIComposite) instancia; for (SInstance i : item.getAllChildren()) { value.put(i.getName(), dehydrate(i)); } } }
/** Copia os valores de uma instância para outra. Presupõem que as instâncias são do mesmo tipo. */ public static void copyValues(SInstance origin, SInstance target) { target.clearInstance(); hydrate(target, dehydrate(origin)); }
/** Copia os valores de uma instância para outra. Presupõem que as instâncias são do mesmo tipo. */ public static void copyValues(SInstance origin, SInstance target) { target.clearInstance(); hydrate(target, dehydrate(origin)); }
@Override default List<Value.Content> load(SIComposite ins, String query) { final SCompositeListBuilder builder = new SCompositeListBuilder((STypeComposite<SIComposite>) ins.getType(), ins); fill(builder, query); final List<Value.Content> listMap = new ArrayList<>(); builder.getList().forEach(i -> listMap.add(Value.dehydrate(i))); return listMap; }
@Override public long getSize(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values.size(); } else { return filteredProvider.load(context).size(); } }
@Override public long getSize(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values.size(); } else { return filteredProvider.load(context).size(); } }
@Override default List<Value.Content> load(SIComposite ins, String query) { final SSimpleProviderListBuilder builder = new SSimpleProviderListBuilder(new SCompositeListBuilder((STypeComposite<SIComposite>) ins.getType(), ins)); fill(builder, query); final List<Value.Content> listMap = new ArrayList<>(); builder.getList().forEach(i -> listMap.add(Value.dehydrate(i))); return listMap; }
@Override public void setValue(Object obj) { if(obj instanceof SIComposite){ clearInstance(); Value.hydrate(this, Value.dehydrate((SInstance) obj)); }else{ throw new SingularFormException("SIComposite só suporta valores de mesmo tipo", this); } }
@Override public void setValue(Object obj) { if(obj instanceof SIComposite){ clearInstance(); Value.hydrate(this, Value.dehydrate((SInstance) obj)); }else{ throw new SingularFormException("SIComposite só suporta valores de mesmo tipo"); } }
@Override default List<Content> load(SInstance ins) { STypeComposite typeComposite = null; if (ins instanceof SIList) { typeComposite = (STypeComposite) ((SIList) ins).getElementsType(); } else if (ins instanceof SIComposite) { typeComposite = (STypeComposite) ins.getType(); } if (typeComposite == null) { throw new SingularFormException("Não foi possivel obter o tipo da instancia"); } final SCompositeListBuilder builder = new SCompositeListBuilder(typeComposite, ins); final List<Content> listMap = new ArrayList<>(); fill(builder); builder.getList().forEach(i -> listMap.add(Value.dehydrate(i))); return listMap; }
@Override default List<Content> load(SInstance ins) { STypeComposite typeComposite = null; if (ins instanceof SIList) { typeComposite = (STypeComposite) ((SIList) ins).getElementsType(); } else if (ins instanceof SIComposite) { typeComposite = (STypeComposite) ins.getType(); } if (typeComposite == null) { throw new SingularFormException("Não foi possivel obter o tipo da instancia", ins); } final SSimpleProviderListBuilder builder = new SSimpleProviderListBuilder(new SCompositeListBuilder(typeComposite, ins)); final List<Content> listMap = new ArrayList<>(); fill(builder); builder.getList().forEach(i -> listMap.add(Value.dehydrate(i))); return listMap; }
@Override public List<R> load(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values; } else { int first = context.getFirst(); return filteredProvider.load(context).subList(first, first + context.getCount()); } }
@Override public List<R> load(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values; } else { return filteredProvider.load(context).subList(context.getFirst(), context.getFirst() + context.getCount()); } }