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 String
CRS
"crs": CoordinateReferenceSystem used to restrict a Geometry literalstatic String
DEPRECATED
Set parameter to deprecated - true, false ;can be used to conditional show the parameter based on deprecated valueInternationalString
description
Human readable description of this parameter.static String
ELEMENT
"element": Class to use as the Element type for List. static String
EXT
File extension expected - "shp", "jpg", etc...static String
FEATURE_TYPE
"featureType" FeatureType to validate a Feature value againststatic 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 likestatic 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, etcString
key
This is the key (ie machine readable text) used to represent this parameter in a java.util.Map.static String
LENGTH
"length" Integer used to limit the length of strings or literal geometries.static String
LEVEL
Level or Category of the parameter - "user", "advanced", "program"static String
MAX
"min" and "max" may be useful for restrictions for things like int sizes, etc.int
maxOccurs
Map<String,Object>
metadata
Refinement of type; such as the FeatureType of a FeatureCollection, or component type of a List.static String
MIN
"min" and "max" may be useful for restrictions for things like int sizes, etc.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 )static String
OPTIONS
As an alternative to "min" and "max" a speciifc Listof options can be provided for a user to choose between. boolean
required
Can the value be missing?T
sample
A sample value; often used as a default when prompting the end-user to fill in the details before executing a process.InternationalString
title
Human readable title/name of this parameter.Class<T>
type
Class 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 boolean
equals(Object obj)
T
getDefaultValue()
A default value for the parameter.InternationalString
getDescription()
Description of the parameter.String
getLevel()
Easy access to check theLEVEL
metadataint
getMaxOccurs()
The maximum number of occurrences of the parameter.int
getMinOccurs()
The minimum number of occurrences of the parameter.String
getName()
Name of the parameter.InternationalString
getTitle()
Title of the parameter.Class<T>
getType()
Type/class of the parameter.int
hashCode()
Boolean
isDeprecated()
Easy access to check theDEPRECATED
metadataboolean
isPassword()
Provides for easy access to theIS_PASSWORD
metadataBoolean
isRequired()
Flag indicating if the parameter is required or not.String
toString()
-
-
-
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:Parameter
Title of the parameter.
-
getDescription
public InternationalString getDescription()
Description copied from interface:Parameter
Description of the parameter.- Specified by:
getDescription
in interfaceParameter<T>
-
getType
public Class<T> getType()
Description copied from interface:Parameter
Type/class of the parameter.
-
isRequired
public Boolean isRequired()
Description copied from interface:Parameter
Flag indicating if the parameter is required or not.- Specified by:
isRequired
in interfaceParameter<T>
-
getMinOccurs
public int getMinOccurs()
Description copied from interface:Parameter
The minimum number of occurrences of the parameter.- Specified by:
getMinOccurs
in interfaceParameter<T>
- Returns:
- minimum number of occurrences, or -1 if no minimum needed
-
getMaxOccurs
public int getMaxOccurs()
Description copied from interface:Parameter
The maximum number of occurrences of the parameter.- Specified by:
getMaxOccurs
in interfaceParameter<T>
- Returns:
- maximum number of occurences, or -1 for unbound
-
getDefaultValue
public T getDefaultValue()
Description copied from interface:Parameter
A default value for the parameter.- Specified by:
getDefaultValue
in interfaceParameter<T>
-
isPassword
public boolean isPassword()
Provides for easy access to theIS_PASSWORD
metadata- Returns:
- true if
metadata.get(IS_PASSWORD) == Boolean.TRUE
-
isDeprecated
public Boolean isDeprecated()
Easy access to check theDEPRECATED
metadata- Returns:
- provided deprecated or false by default
-
getLevel
public String getLevel()
Easy access to check theLEVEL
metadata- Returns:
- provided level or "user" by default
-
-