@BeeKeyValueType
(com.exalead.config.bean.BeeKeyValueType)
|
Possible values include:
-
string for generic string,
-
numeric for a signed long integer value,
-
enum:value1,value2 ... for a selection
restricted to certain values.
-
encrypted for values that shall be
encrypted, such as passwords.
-
hidden for values that must not be
displayed/edited at all. Consider using
@IsHiddenUI instead.
|
@Connector (com.exalead.config.bean.Connector)
|
Displays a combo box to list configured connectors. The list of connectors can be restricted with the following flags:
allowSelf : if the component describes a connector, it indicates whether this connector is included in
the combobox (default is false).
allowDeployed : indicates whether deployed connectors are listed (default is true).
allowUndeployed : indicates whether undeployed connectors are listed (default is true)
allowUnmanaged : indicates whether unmanaged connectors are listed (default is true)
allowManaged : indicates whether managed connectors are listed (default is true)
allowedClassId : a regular expression to filter by connector classid.
If the regular expression is an empty string, then all connectors are listed.
forbiddenClassId : a regular expression to exclude connectors by classid.
allowEmpty : adds an extra empty option in the combo box. Property value will be "" when this option is selected.
|
@DataModelClass (com.exalead.config.bean.DataModelClass)
|
Displays a combo box to list available classes in all configured data models.
The data models to search classes in can be restricted with the following options (both options are mutually exclusive):
dataModel : only list classes of the given data model.
buildGroup : only list classes of the data model referenced by the given build group.
|
@Date (com.exalead.config.bean.Date)
|
Displays a calendar to configure the property field.
The property field will be stored as a string formatted with the date format specified in the annotation.
Default date format is: @Date(format=“yyyy-MM-dd”)
Example: If you add a startDate field with
@Date(format=“yyyy-MM-dd”)
public void setStartDate(String startDate) {
this.startDate = startDate;
}
The UI will display: Start date: [calendar widget]
And when dates are saved, they will be stored with the yyyy-MM-dd date format.
|
@DateTime (com.exalead.config.bean.DateTime)
|
Same as @Date with time information.
Default datetime format is: @DateTime(format=“yyyy-MM-dd HH:mm:ss”)
|
@EnumFieldType
(com.exalead.config.bean.EnumFieldType)
|
The given setter takes only a subset of String
representations (enum) as value.
Example:
@EnumFieldType(possibleValue = {
@PossibleValueType("red"),
@PossibleValueType("green"),
@PossibleValueType("blue") })
Note:
in @PossibleValueType you can associate a label to each value.
|
@IsHidden (com.exalead.config.bean.IsHidden)
|
The given setter is to be ignored. For example, you can use
it if the function is not part of the bean setter subset.
Example:
@IsHidden()
|
@IsHiddenUI
(com.exalead.config.bean.IsHiddenUI)
|
The given setter property should not be editable or
displayed, but must still be processed as a regular property. Use it to hide
internal properties.
Example:
@IsHiddenUI()
|
@IsMandatory
(com.exalead.config.bean.IsMandatory)
|
If the associated boolean is
true , then the given setter property must be
defined (non-empty unserialized value) so that the configuration can be
considered as valid.
Otherwise, the property will be considered as optional.
Note: Without this annotation, the default is mandatory.
Example:
@IsMandatory(false)
|
@MultiLineString (com.exalead.config.bean.MultiLineString)
|
Displays a multi-line text input control.
|
@Path (com.exalead.config.bean.Path)
|
Displays a file chooser widget, that browses
Exalead CloudView host filesystem.
|
@PropertyDescription
(com.exalead.config.bean.PropertyDescription)
|
The property description, as a string. Typically displayed
for comment or tooltip. It supports text only, no HTML code.
Example:
@PropertyDescription("Define the hostname to be used
for the proxy")
|
@PropertyLabel
(com.exalead.config.bean.PropertyLabel)
|
The property label, as a string. Typically displayed for
short name.
Example:
@PropertyLabel("Proxy hostname")
|
@SecuritySource (com.exalead.config.bean.SecuritySource)
|
Displays a combo box to list configured security sources. The list of security sources can be restricted with the following flags:
allowSelf : if the component describes a security source, indicates whether this security source
is included in the combobox (default is false)
allowDeployed : indicates whether deployed security sources are listed (default is true)
allowUndeployed : indicates whether undeployed security sources are listed (default is true)
allowedClassId : a regular expression to filter by security source classid.
If the regular expression is an empty string, then all security sources are listed.
forbiddenClassId : a regular expression to exclude security sources by classid.
allowEmpty : adds an extra empty option in the combo box. Property value will be "" when this option is selected.
|
@WithSuggest (com.exalead.config.bean.WithSuggest)
|
Displays a text input that performs remote queries to suggest entries.
In order to remote suggestions to work, the CVComponent must support SuggestOption queries. Here is a full example:
Component config class:
MyComponentConfig extends ConnectorConfig {
...
private String folder;
@WithSuggest
public void setFolder(String folder) {
this.folder = folder;
}
}
Component class:
@IntrospectableComponent(introspectorClass=MyComponentIntrospector.class,
supportedQueries = {@SupportedQuery(queryClass = SuggestOption.class)})
class MyComponent extends Connector {
...
}
Introspector class:
class MyComponentIntrospector implements CVComponentIntrospector {
public Object execute(CVComponentConfig componentConfig, IntrospectionQuery query) throws Exception {
if (query instanceof SuggestOption) {
SuggestOption suggestQuery = (SuggestOption) query;
SuggestOption.SuggestResult result = new SuggestOption.SuggestResult();
// disambiguate by field name if you have several fields annotated with @WithSuggest
if ("Folder".equals(suggestQuery.getConfigKey())) {
String currentValue = suggestQuery.getCurrentValue();
MyComponentConfig myConfig = (MyComponentConfig) componentConfig;
String[] suggestedValues = ...;
result.setSuggestedValues(suggestedValues);
}
return result;
}
throw new IllegalStateException("Unknown introspection query");
}
}
|