Package org.apache.sis.parameter
Class AbstractParameterDescriptor
- Object
-
- FormattableObject
-
- AbstractIdentifiedObject
-
- AbstractParameterDescriptor
-
- All Implemented Interfaces:
Serializable
,Deprecable
,LenientComparable
,GeneralParameterDescriptor
,IdentifiedObject
- Direct Known Subclasses:
DefaultParameterDescriptor
,DefaultParameterDescriptorGroup
public abstract class AbstractParameterDescriptor extends AbstractIdentifiedObject implements GeneralParameterDescriptor
Abstract definition of a parameter or group of parameters used by a coordinate operation or a process. This interface combines information provided by Referencing by Coordinates (ISO 19111), Service Metadata (ISO 19115) and Web Processing Services (WPS) standards. The main information are:Main parameter properties Getter method ISO 19111 WPS ISO 19115 Remarks getName()
name
Identifier
name
See Parameters.getMemberName(ParameterDescriptor)
forMemberName
↔Identifier
mapping.AbstractIdentifiedObject.getDescription()
Abstract
description
Also known as “definition”. getDirection()
direction
Tells if the parameter is a WPS Input
orOutput
structure.getMinimumOccurs()
minimumOccurs
MinOccurs
optionality
optionality = (minimumOccurs > 0)
getMaximumOccurs()
maximumOccurs
MaxOccurs
repeatability
repeatability = (maximumOccurs > 1)
- Since:
- 0.5
- See Also:
- Serialized Form
Defined in the
sis-referencing
module
-
-
Field Summary
-
Fields inherited from class AbstractIdentifiedObject
DEPRECATED_KEY, LOCALE_KEY
-
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractParameterDescriptor(Map<String,?> properties, int minimumOccurs, int maximumOccurs)
Constructs a parameter descriptor from a set of properties.protected
AbstractParameterDescriptor(GeneralParameterDescriptor descriptor)
Constructs a new parameter descriptor with the same values than the specified one.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object object, ComparisonMode mode)
Compares the specified object with this parameter for equality.protected String
formatTo(Formatter formatter)
Formats this descriptor as a pseudo-Well Known Text element.Class<? extends GeneralParameterDescriptor>
getInterface()
Returns the GeoAPI interface implemented by this class.int
getMaximumOccurs()
The maximum number of times that values for this parameter group or parameter can be included.int
getMinimumOccurs()
The minimum number of times that values for this parameter group or parameter are required.void
print()
Prints a string representation of this descriptor to the standard output stream.String
toString()
Returns a string representation of this descriptor.-
Methods inherited from class AbstractIdentifiedObject
castOrCopy, computeHashCode, equals, getAlias, getDescription, getIdentifiers, getName, getRemarks, hashCode, isDeprecated, isHeuristicMatchForName
-
Methods inherited from class FormattableObject
toString, toWKT
-
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface GeneralParameterDescriptor
createValue
-
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
-
-
-
Constructor Detail
-
AbstractParameterDescriptor
protected AbstractParameterDescriptor(Map<String,?> properties, int minimumOccurs, int maximumOccurs)
Constructs a parameter descriptor from a set of properties. The properties map is given unchanged to the super-class constructor. The following table is a reminder of main (not all) properties:Recognized properties (non exhaustive list) Property name Value type Returned by "name" ReferenceIdentifier
orString
AbstractIdentifiedObject.getName()
"alias" GenericName
orCharSequence
(optionally as array)AbstractIdentifiedObject.getAlias()
"identifiers" ReferenceIdentifier
(optionally as array)AbstractIdentifiedObject.getIdentifiers()
"remarks" InternationalString
orString
AbstractIdentifiedObject.getRemarks()
- Parameters:
properties
- the properties to be given to the identified object.minimumOccurs
- the minimum number of times that values for this parameter group are required, or 0 if no restriction.maximumOccurs
- the maximum number of times that values for this parameter group are required, orInteger.MAX_VALUE
if no restriction.
-
AbstractParameterDescriptor
protected AbstractParameterDescriptor(GeneralParameterDescriptor descriptor)
Constructs a new parameter descriptor with the same values than the specified one. This copy constructor provides a way to convert an arbitrary implementation into a SIS one or a user-defined one (as a subclass), usually in order to leverage some implementation-specific API.This constructor performs a shallow copy, i.e. the properties are not cloned.
- Parameters:
descriptor
- the object to shallow copy.
-
-
Method Detail
-
getInterface
public Class<? extends GeneralParameterDescriptor> getInterface()
Returns the GeoAPI interface implemented by this class. The default implementation returnsGeneralParameterDescriptor.class
. Subclasses implementing a more specific GeoAPI interface shall override this method.- Overrides:
getInterface
in classAbstractIdentifiedObject
- Returns:
- the parameter descriptor interface implemented by this class.
-
getMinimumOccurs
public int getMinimumOccurs()
The minimum number of times that values for this parameter group or parameter are required. A value of 0 means an optional parameter.- Specified by:
getMinimumOccurs
in interfaceGeneralParameterDescriptor
- Returns:
- the minimum occurrence.
-
getMaximumOccurs
public int getMaximumOccurs()
The maximum number of times that values for this parameter group or parameter can be included. A value greater than 1 means a repeatable parameter.- Specified by:
getMaximumOccurs
in interfaceGeneralParameterDescriptor
- Returns:
- the maximum occurrence.
-
equals
public boolean equals(Object object, ComparisonMode mode)
Compares the specified object with this parameter for equality.- Specified by:
equals
in interfaceLenientComparable
- Overrides:
equals
in classAbstractIdentifiedObject
- Parameters:
object
- the object to compare tothis
.mode
- the strictness level of the comparison.- Returns:
true
if both objects are equal according the given comparison mode.- See Also:
AbstractIdentifiedObject.computeHashCode()
,Utilities.deepEquals(Object, Object, ComparisonMode)
-
toString
public String toString()
Returns a string representation of this descriptor.This method is for information purpose only and may change in future SIS version.
- Overrides:
toString
in classFormattableObject
- Returns:
- the Well Known Text (WKT) or an alternative representation of this object.
-
print
@Debug public void print()
Prints a string representation of this descriptor to the standard output stream. If a console is attached to the running JVM (i.e. if the application is run from the command-line and the output is not redirected to a file) and if Apache SIS thinks that the console supports the ANSI escape codes (a.k.a. X3.64), then a syntax coloring will be applied.This is a convenience method for debugging purpose and for console applications.
- Overrides:
print
in classFormattableObject
-
formatTo
protected String formatTo(Formatter formatter)
Formats this descriptor as a pseudo-Well Known Text element. The WKT specification does not define any representation of parameter descriptors. Apache SIS fallback on a list of descriptors. The text formatted by this method is flagged as invalid WKT.- Overrides:
formatTo
in classAbstractIdentifiedObject
- Parameters:
formatter
- the formatter where to format the inner content of this WKT element.- Returns:
"Parameter"
or"ParameterGroup"
.- See Also:
- WKT 2 specification §7
-
-