public SelectSInstanceAwareModel(IModel<? extends SInstance> model) { this.model = model; this.resolver = sInstance -> Optional.ofNullable(sInstance.asAtrProvider().getConverter()); }
public SelectSInstanceAwareModel(IModel<? extends SInstance> model) { this.model = model; this.resolver = sInstance -> Optional.ofNullable(sInstance.asAtrProvider().getConverter()); }
public SelectSInstanceAwareModel.SelectConverterResolver getCustomSelectConverterResolver(){ return si -> Optional.ofNullable(si.getParent().asAtrProvider().getConverter()); }
/** * Get the converter attribute from model instance * @return the converter */ private SInstanceConverter getSIListConverter() { return getSIList().asAtrProvider().getConverter(); }
@SuppressWarnings("unchecked") public <ST extends SType<?>> List<SInstance> getChoices(IFunction<T, ST> typeFinder) { SInstance subInstance = resolveTypeFinderInstance(typeFinder); ST subtype = (ST) subInstance.getType(); Component component = getComponentForSType(subtype); SInstanceConverter converter = subInstance.asAtrProvider().getConverter(); return (List<SInstance>) ((AbstractChoice) component).getChoices().stream().map(serializable -> { SInstance choiceInstance = subtype.newInstance(); converter.fillInstance(choiceInstance, (Serializable) serializable); return choiceInstance; }).collect(Collectors.toList()); }
private void populateInstance(TreeNode tree) { Optional<TreeNode> optional = Optional.of(tree); optional.ifPresent(treeNode -> { SInstanceConverter converter = getInstance().asAtrProvider().getConverter(); if (converter != null) { converter.fillInstance(getInstance(), treeNode.getValue()); } } ); }
protected void setVallIfNullorClear(String key, SInstance instance) { final Serializable val = getValueFromChace(key).map(TypeaheadCache::getTrueValue).orElse(getValueFromProvider(key).orElse(null)); if (val != null) { instance().asAtrProvider().getConverter().fillInstance(instance, val); } else { instance.clearInstance(); } }
@SuppressWarnings("unchecked") private List<String> initEnumSelectDomain(SType<?> type) { if (selection && type.asAtrProvider().getConverter() instanceof EnumSInstanceConverter) { return (List<String>) type .asAtrProvider() .getProvider() .load(new ProviderContext()) .stream() .map(e -> type.asAtrProvider().getDisplayFunction().apply((Serializable) e)) .collect(Collectors.toList()); } return Collections.emptyList(); }
@SuppressWarnings("unchecked") private List<String> initEnumSelectDomain(SType<?> type) { if (selection && type.asAtrProvider().getConverter() instanceof EnumSInstanceConverter) { return (List<String>) type .asAtrProvider() .getProvider() .load(new ProviderContext()) .stream() .map(e -> type.asAtrProvider().getDisplayFunction().apply((Serializable) e)) .collect(Collectors.toList()); } return Collections.emptyList(); }
@SuppressWarnings("unchecked") private List<String> initEnumSelectDomain(SType<?> type) { if (selection && type.asAtrProvider().getConverter() instanceof EnumSInstanceConverter) { return (List<String>) type .asAtrProvider() .getProvider() .load(new ProviderContext()) .stream() .map(e -> type.asAtrProvider().getDisplayFunction().apply((Serializable) e)) .collect(Collectors.toList()); } return Collections.emptyList(); }
@Override public void setObject(List<Serializable> objects) { if (model.getObject() instanceof SIList<?>) { final SIList<?> list = (SIList<?>) model.getObject(); list.clearInstance(); selects.clear(); for (int i = 0; i <= objects.size(); i += 1) { final Serializable o = objects.get(i); final SInstance newElement = list.addNew(); model.getObject().asAtrProvider().getConverter().fillInstance(newElement, o); selects.add(new SelectSInstanceAwareModel(new SInstanceListItemModel<>(model, i), getCustomSelectConverterResolver())); } } else { throw new SingularFormException("Este model somente deve ser utilizado para tipo lista"); } }
@Override public void setObject(String key) { if (StringUtils.isEmpty(key)) { getRequestCycle().setMetaData(WicketFormProcessing.MDK_SKIP_VALIDATION_ON_REQUEST, true); getMInstancia().clearInstance(); } else { final Serializable val = getValueFromChace(key).map(TypeaheadCache::getTrueValue).orElse(getValueFromProvider(key).orElse(null)); if (val != null) { instance().asAtrProvider().getConverter().fillInstance(getMInstancia(), val); } else { getMInstancia().clearInstance(); } } }
@Override public String getReadOnlyFormattedText(WicketBuildContext ctx, IModel<? extends SInstance> model) { final SInstance mi = model.getObject(); if ((mi != null) && (mi.getValue() != null)) { final SInstanceConverter converter = mi.asAtrProvider().getConverter(); if (converter != null) { final Serializable converted = converter.toObject(mi); if (converted != null) { return mi.asAtrProvider().getDisplayFunction().apply(converted); } } } return StringUtils.EMPTY; }
@Override public String getReadOnlyFormattedText(WicketBuildContext ctx, IModel<? extends SInstance> model) { final SInstance mi = model.getObject(); if ((mi != null) && (mi.getValue() != null)) { @SuppressWarnings("unchecked") final SInstanceConverter<?, SInstance> converter = mi.asAtrProvider().getConverter(); if (converter != null) { final Serializable converted = converter.toObject(mi); if (converted != null) { return mi.asAtrProvider().getDisplayFunction().apply(converted); } } } return StringUtils.EMPTY; }
public String getReadOnlyFormattedText(WicketBuildContext ctx, IModel<? extends SInstance> model) { final SInstance mi = model.getObject(); if (mi != null && mi.getValue() != null) { Serializable instanceObject = mi.getType().asAtrProvider().getConverter().toObject(mi); if (instanceObject != null) { return mi.getType().asAtrProvider().getDisplayFunction().apply(instanceObject); } } return StringUtils.EMPTY; }
public String getReadOnlyFormattedText(WicketBuildContext ctx, IModel<? extends SInstance> model) { final SInstance mi = model.getObject(); if (mi != null && mi.getValue() != null) { Serializable instanceObject = mi.getType().asAtrProvider().getConverter().toObject(mi); if (instanceObject != null) { return mi.getType().asAtrProvider().getDisplayFunction().apply(instanceObject); } } return StringUtils.EMPTY; }
private void validate() { if (getInstance().asAtrProvider().getFilteredProvider() == null) { throw new SingularFormException("O provider não foi informado"); } if (getInstance().asAtrProvider().getConverter() == null && (getInstance() instanceof SIComposite || getInstance() instanceof SIList)) { throw new SingularFormException("O tipo não é simples e o converter não foi informado."); } }
@Override protected void doWriteOnCanvas(DocumentCanvas canvas, FlatViewContext context) { SInstance instance = context.getInstance(); AtrProvider atrProvider = instance.asAtrProvider(); String displayValue = atrProvider.getDisplayFunction() .apply(atrProvider.getConverter().toObject(instance)); canvas.addFormItem(new FormItem(context.getLabel(), displayValue, instance.asAtrBootstrap().getColPreference())); }
@Override public String getObject() { if (instance().isEmptyOfData()) { return null; } else if (!Value.dehydrate(instance()).equals(lastValue)) { lastValue = Value.dehydrate(instance()); SInstanceConverter<Serializable, SInstance> converter = instance().asAtrProvider().getConverter(); if (converter != null) { Serializable converted = converter.toObject(instance()); if (converted != null) { lastDisplay = instance().asAtrProvider().getDisplayFunction().apply(converted); } } } return lastDisplay; } });
private void validate() { if (getInstance().asAtrProvider().getFilteredProvider() == null) { throw new SingularFormException("O provider não foi informado", getInstance()); } if (getInstance().asAtrProvider().getConverter() == null && (getInstance() instanceof SIComposite || getInstance() instanceof SIList)) { throw new SingularFormException("O tipo não é simples e o converter não foi informado.", getInstance()); } }