Class Parameter<T>
- Object
-
- Parameter<T>
-
- All Implemented Interfaces:
Parameter<T>
- Direct Known Subclasses:
DataAccessFactory.Param
public class Parameter<T> extends Object implements Parameter<T>
A Parameter defines information about a valid process parameter.- Author:
- gdavis
-
-
Field Summary
Fields Modifier and Type Field Description static StringCRS"crs": CoordinateReferenceSystem used to restrict a Geometry literalstatic StringDEPRECATEDSet parameter to deprecated - true, false ;can be used to conditional show the parameter based on deprecated valueInternationalStringdescriptionHuman readable description of this parameter.static StringELEMENT"element": Class to use as the Element type for List. static StringEXTFile extension expected - "shp", "jpg", etc...static StringFEATURE_TYPE"featureType" FeatureType to validate a Feature value againststatic StringIS_LARGE_TEXTBoolean indicating whether the parameter is meant to be a long text, provides a hint for UI's use long text fields, textareas and the likestatic StringIS_PASSWORDBoolean indicating whether the parameter shall be used as a password field, provides a hint for UI's to mask text fields, configuration systems to encrypt content, etcStringkeyThis is the key (ie machine readable text) used to represent this parameter in a java.util.Map.static StringLENGTH"length" Integer used to limit the length of strings or literal geometries.static StringLEVELLevel or Category of the parameter - "user", "advanced", "program"static StringMAX"min" and "max" may be useful for restrictions for things like int sizes, etc.intmaxOccursMap<String,Object>metadataRefinement of type; such as the FeatureType of a FeatureCollection, or component type of a List.static StringMIN"min" and "max" may be useful for restrictions for things like int sizes, etc.intminOccursWhat is the min and max number of this paramter there can be ( a value of -1 for min means 0 or more, a value of -1 for max means any number greater than or equal to the min value )static StringOPTIONSAs an alternative to "min" and "max" a speciifc Listof options can be provided for a user to choose between. booleanrequiredCan the value be missing?TsampleA sample value; often used as a default when prompting the end-user to fill in the details before executing a process.InternationalStringtitleHuman readable title/name of this parameter.Class<T>typeClass binding for this parameter.
-
Constructor Summary
Constructors Constructor Description Parameter(String key, Class<T> type)Constructs a parameter from key and typeParameter(String key, Class<T> type, int min, int max)Constructs a parameter from key, type, and min/max occurs.Parameter(String key, Class<T> type, String title, String description)Mandatory parameter - quickly constructed with out a properly internationalized title and description.Parameter(String key, Class<T> type, String title, String description, Map<String,Object> metadata)Mandatory parameter - quickly constructed with out a properly internationalized title and description.Parameter(String key, Class<T> type, InternationalString title, InternationalString description)Mandatory parameterParameter(String key, Class<T> type, InternationalString title, InternationalString description, boolean required, int min, int max, T sample, Map<String,Object> metadata)Addition of optional parametersParameter(String key, Class<T> type, InternationalString title, InternationalString description, Map<String,Object> metadata)Mandatory parameter with metadata.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)TgetDefaultValue()A default value for the parameter.InternationalStringgetDescription()Description of the parameter.StringgetLevel()Easy access to check theLEVELmetadataintgetMaxOccurs()The maximum number of occurrences of the parameter.intgetMinOccurs()The minimum number of occurrences of the parameter.StringgetName()Name of the parameter.InternationalStringgetTitle()Title of the parameter.Class<T>getType()Type/class of the parameter.inthashCode()BooleanisDeprecated()Easy access to check theDEPRECATEDmetadatabooleanisPassword()Provides for easy access to theIS_PASSWORDmetadataBooleanisRequired()Flag indicating if the parameter is required or not.StringtoString()
-
-
-
Field Detail
-
key
public final String key
This is the key (ie machine readable text) used to represent this parameter in a java.util.Map.
-
title
public final InternationalString title
Human readable title/name of this parameter.
-
description
public final InternationalString description
Human readable description of this parameter.
-
type
public final Class<T> type
Class binding for this parameter.When a value is supplied for this key it should be of the provided type.
-
required
public final boolean required
Can the value be missing? Or is null allowed... Return true if a value is required to be both present and non null
-
minOccurs
public final int minOccurs
What is the min and max number of this paramter there can be ( a value of -1 for min means 0 or more, a value of -1 for max means any number greater than or equal to the min value )eg: a geometry union process can have any number of geom parameters, so by setting the max to -1 and the min to 2 we accomplish that.
-
maxOccurs
public final int maxOccurs
-
sample
public final T sample
A sample value; often used as a default when prompting the end-user to fill in the details before executing a process.
-
FEATURE_TYPE
public static final String FEATURE_TYPE
"featureType" FeatureType to validate a Feature value against- See Also:
- Constant Field Values
-
IS_PASSWORD
public static final String IS_PASSWORD
Boolean indicating whether the parameter shall be used as a password field, provides a hint for UI's to mask text fields, configuration systems to encrypt content, etc- See Also:
- Constant Field Values
-
IS_LARGE_TEXT
public static final String IS_LARGE_TEXT
Boolean indicating whether the parameter is meant to be a long text, provides a hint for UI's use long text fields, textareas and the like- See Also:
- Constant Field Values
-
LENGTH
public static final String LENGTH
"length" Integer used to limit the length of strings or literal geometries.- See Also:
- Constant Field Values
-
CRS
public static final String CRS
"crs": CoordinateReferenceSystem used to restrict a Geometry literal- See Also:
- Constant Field Values
-
ELEMENT
public static final String ELEMENT
"element": Class to use as the Element type for List. Please restrict your use of this facility to simple types; for most higher order data structures multiplicity is already accounted for - example MultiGeometry. - See Also:
- Constant Field Values
-
MIN
public static final String MIN
"min" and "max" may be useful for restrictions for things like int sizes, etc.- See Also:
- Constant Field Values
-
MAX
public static final String MAX
"min" and "max" may be useful for restrictions for things like int sizes, etc.- See Also:
- Constant Field Values
-
OPTIONS
public static final String OPTIONS
As an alternative to "min" and "max" a speciifc Listof options can be provided for a user to choose between. The description should explain what the options mean. Example: a compliance level of (0-low,1-medium,2-high)
Although a List
is used here (so you can specifiy order) it is assumed you will not confuse your users by placing duplicates in the list. - See Also:
- Constant Field Values
-
EXT
public static final String EXT
File extension expected - "shp", "jpg", etc...- See Also:
- Constant Field Values
-
LEVEL
public static final String LEVEL
Level or Category of the parameter - "user", "advanced", "program"- user - should be shown to all users and is used every time.
example: user name and password - advanced - advanced or expert parameter used in special cases
example: choice between get and post requests for WFS - program - intended for programs often tweaking settings for performance
example: JDBC datasource for which it is hard for a user to type in
- See Also:
- Constant Field Values
- user - should be shown to all users and is used every time.
-
DEPRECATED
public static final String DEPRECATED
Set parameter to deprecated - true, false ;can be used to conditional show the parameter based on deprecated value- See Also:
- Constant Field Values
-
metadata
public final Map<String,Object> metadata
Refinement of type; such as the FeatureType of a FeatureCollection, or component type of a List.This information is supplied (along with type) to allow a process implementor communicate additional restrictions on the allowed value beyond the strict type.
The following keys are understood at this time: LENGTH, FEATURE_TYPE, CRS, ELEMENT .. additional keys will be documented as static final fields over time.
Any restrictions mentioned here should be mentioned as part of your parameter description. This metadata is only used to help restrict what the user enters; not all client application will understand and respect these keys - please communicate with your end-user.
- See Also:
CRS,ELEMENT,FEATURE_TYPE,IS_PASSWORD,LENGTH,MAX,MIN
-
-
Constructor Detail
-
Parameter
public Parameter(String key, Class<T> type, String title, String description)
Mandatory parameter - quickly constructed with out a properly internationalized title and description.- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected valuetitle- Human readable title used for use in a user interfacedescription- Human readable description
-
Parameter
public Parameter(String key, Class<T> type, String title, String description, Map<String,Object> metadata)
Mandatory parameter - quickly constructed with out a properly internationalized title and description.- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected valuetitle- Human readable title used for use in a user interfacedescription- Human readable description
-
Parameter
public Parameter(String key, Class<T> type, InternationalString title, InternationalString description)
Mandatory parameter- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected valuetitle- Human readable title used for use in a user interfacedescription- Human readable description
-
Parameter
public Parameter(String key, Class<T> type, InternationalString title, InternationalString description, Map<String,Object> metadata)
Mandatory parameter with metadata.- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected valuetitle- Human readable title used for use in a user interfacedescription- Human readable descriptionmetadata- Hints to the user interface (read the javadocs for each metadata key)- See Also:
CRS,ELEMENT,FEATURE_TYPE,IS_PASSWORD,LENGTH,MAX,MIN
-
Parameter
public Parameter(String key, Class<T> type, InternationalString title, InternationalString description, boolean required, int min, int max, T sample, Map<String,Object> metadata)
Addition of optional parameters- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected valuetitle- Human readable title used for use in a user interfacedescription- Human readable descriptionrequired- true if the value is requiredmin- Minimum value; or -1 if not neededmax- Maximum value; or -1 for unboundsample- Sample value; may be used as a default in a user interfacemetadata- Hints to the user interface (read the javadocs for each metadata key)- See Also:
CRS,ELEMENT,FEATURE_TYPE,IS_PASSWORD,LENGTH,MAX,MIN
-
Parameter
public Parameter(String key, Class<T> type)
Constructs a parameter from key and type- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected value
-
Parameter
public Parameter(String key, Class<T> type, int min, int max)
Constructs a parameter from key, type, and min/max occurs.- Parameters:
key- machine readable key for use in a java.util.Maptype- Java class for the expected valuemin- Minimum value of occurrences, -1 if not neededmax- Maximum value of occurrences, -1 for unbound
-
-
Method Detail
-
getTitle
public InternationalString getTitle()
Description copied from interface:ParameterTitle of the parameter.
-
getDescription
public InternationalString getDescription()
Description copied from interface:ParameterDescription of the parameter.- Specified by:
getDescriptionin interfaceParameter<T>
-
getType
public Class<T> getType()
Description copied from interface:ParameterType/class of the parameter.
-
isRequired
public Boolean isRequired()
Description copied from interface:ParameterFlag indicating if the parameter is required or not.- Specified by:
isRequiredin interfaceParameter<T>
-
getMinOccurs
public int getMinOccurs()
Description copied from interface:ParameterThe minimum number of occurrences of the parameter.- Specified by:
getMinOccursin interfaceParameter<T>- Returns:
- minimum number of occurrences, or -1 if no minimum needed
-
getMaxOccurs
public int getMaxOccurs()
Description copied from interface:ParameterThe maximum number of occurrences of the parameter.- Specified by:
getMaxOccursin interfaceParameter<T>- Returns:
- maximum number of occurences, or -1 for unbound
-
getDefaultValue
public T getDefaultValue()
Description copied from interface:ParameterA default value for the parameter.- Specified by:
getDefaultValuein interfaceParameter<T>
-
isPassword
public boolean isPassword()
Provides for easy access to theIS_PASSWORDmetadata- Returns:
- true if
metadata.get(IS_PASSWORD) == Boolean.TRUE
-
isDeprecated
public Boolean isDeprecated()
Easy access to check theDEPRECATEDmetadata- Returns:
- provided deprecated or false by default
-
getLevel
public String getLevel()
Easy access to check theLEVELmetadata- Returns:
- provided level or "user" by default
-
-