Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Scout/Concepts/CodeType/Example
Scout |
Wiki Home |
Website |
Download • Git |
Community |
Forums • Blog • Twitter • G+ |
Bugzilla |
Bugzilla |
This page contains some example Java code for a simple CodeType having just two codes:
-
YesOrNoCodeType.YesCode
-
YesOrNoCodeType.NoCode
Notice that the CodeType Id is a String and that both code have an Boolean Id.
The definition of codes is reduced to an Id and a Text, but we could also imagine to configure the IconId or the Tooltip.
Code
public class YesOrNoCodeType extends AbstractCodeType<String, Boolean> { private static final long serialVersionUID = 1L; public static final String ID = "YesNo"; /** * @throws org.eclipse.scout.commons.exception.ProcessingException */ public YesOrNoCodeType() throws ProcessingException { super(); } @Override public String getId() { return ID; } @Order(10.0) public static class YesCode extends AbstractCode<Boolean> { private static final long serialVersionUID = 1L; public static final Boolean ID = Boolean.TRUE; @Override protected String getConfiguredText() { return TEXTS.get("Yes"); } @Override public Boolean getId() { return ID; } } @Order(20.0) public static class NoCode extends AbstractCode<Boolean> { private static final long serialVersionUID = 1L; public static final Boolean ID = Boolean.FALSE; @Override protected String getConfiguredText() { return TEXTS.get("No"); } @Override public Boolean getId() { return ID; } } }
Usage
This code Type can be used in a SmartField extending AbstractSmartField<Boolean>
public class YesOrNoSmartField extends AbstractSmartField<Boolean> { // other configuration of properties... @Override protected Class<? extends ICodeType<?, Boolean>> getConfiguredCodeType() { return YesOrNoCodeType.class; } }
In the SDK
Explorer View proposes a graphical representation of this CodeType. It is possible to modify the corresponding Java code directly in the SDK.