public ViewResolver() { // Registro das regas de escolha de view. addRule(STypeList.class, SViewListByForm.class); addRule(STypeList.class, new ViewRuleTypeListOfTypeSimpleSelectionOf()); addRule(STypeSimple.class, new ViewRuleTypeSimpleSelectionOf()); addRule(STypeComposite.class, new ViewRuleTypeSimpleSelectionOf()); addRule(STypeList.class, new ViewRuleTypeListOfAttachment()); }
/** * Definie a view default para um dado componente. Essa regra tem menor * prioridade em relação com lógica explicitas. */ public void addRule(Class<? extends SType> type, Class<? extends SView> view) { addRule(type, 100, new ViewRuleSimple(view)); }
/** * Registra o fornecedor para o tipo para quando não for solicitado um view * especifica. Seria a factory default. */ public ViewMapperRegistry<T> register(Class<? extends SType> type, ISupplier<T> factory) { return register(type, null, factory); }
/** * Adiciona uma coluna cujo conteúdo será o subcampo informado e com o * título da coluna informado. O conteúdo de cada célula será a string * gerada mediante {@link SInstance#toStringDisplay()}. */ public final SELF col(SType<?> type, String customLabel) { return col(type, customLabel, (IFunction<SInstance, String>) null); }
/** * Retorna o registro e resolvedor (calculador) de views para as instâncias. * Permite registra view e decidir qual a view mais pertinente para a * instância alvo. */ public ViewResolver getViewResolver() { if (viewResolver == null) { viewResolver = new ViewResolver(); } return viewResolver; }
@Override public SView apply(SInstance instance) { return newInstance(view); } }
/** * Adiciona uma regra de mapeamento de view com lógia explicita. * Provavelmente é um algorítmo que ira inspecionar a estrutura do tipo ou * da instância antes de decidir a melhor view. Essa regra tem maior * prioriade em relação as regras de componentes default. */ public void addRule(Class<? extends SType> type, ViewRule viewRule) { addRule(type, 1000, viewRule); }
/** * If set, adding invalid elements is now allowed. * Element SInstance must be valid to be added to the corresponding SIList. * * @return */ public SViewListByMasterDetail enforceValidationOnAdd() { return enforceValidationOnAdd("Não é possível adicionar enquanto houver correções a serem feitas"); }
/** * Method for choosen a default sortable Column. * Note: Will use ASC mode. * * @param sortableColumn The column that will be sortable in the initialize. * @return <code>this</code> */ public SViewListByMasterDetail setSortableColumn(SType<?> sortableColumn) { return this.setSortableColumn(sortableColumn, true); }
public ViewResolver() { // Registro das regas de escolha de view. addRule(STypeList.class, SViewListByForm.class); addRule(STypeList.class, new ViewRuleTypeListOfTypeSimpleSelectionOf()); addRule(STypeSimple.class, new ViewRuleTypeSimpleSelectionOf()); addRule(STypeComposite.class, new ViewRuleTypeSimpleSelectionOf()); addRule(STypeList.class, new ViewRuleTypeListOfAttachment()); }
/** * Definie a view default para um dado componente. Essa regra tem menor * prioridade em relação com lógica explicitas. */ public void addRule(Class<? extends SType> type, Class<? extends SView> view) { addRule(type, 100, new ViewRuleSimple(view)); }
/** * Registra o fornecedor para o tipo para quando não for solicitado um view * especifica. Seria a factory default. */ public ViewMapperRegistry<T> register(Class<? extends SType> type, ISupplier<T> factory) { return register(type, null, factory); }
/** * Adiciona uma coluna cujo conteúdo será o subcampo informado e o conteudo * de cada célula será cálculado dinamicamente mediante a função informada. */ public final SELF col(SType<?> type, IFunction<SInstance, String> displayFunction) { return col(type, null, displayFunction); }
/** * Retorna o registro e resolvedor (calculador) de views para as instâncias. * Permite registra view e decidir qual a view mais pertinente para a * instância alvo. */ public ViewResolver getViewResolver() { if (viewResolver == null) { viewResolver = new ViewResolver(); } return viewResolver; }
@Override public SView apply(SInstance instance) { return newInstance(view); } }
/** * Adiciona uma coluna cujo conteúdo será o subcampo informado, o titulo da * coluna específico e o conteudo de cada célula será cálculado * dinamicamente mediante a função informada. */ public final SELF col(SType<?> type, String customLabel, IFunction<SInstance, String> displayFunction) { return col(type, customLabel, displayFunction, true); }
/** * Adiciona uma coluna cujo conteúdo será o subcampo informado e o conteudo * de cada célula será cálculado dinamicamente mediante a função informada. */ public final SELF col(SType<?> type, IFunction<SInstance, String> displayFunction) { return col(type, null, displayFunction); }