Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
DefaultDimension
- All Implemented Interfaces:
Serializable
,Emptiable
,LenientComparable
,IdentifiedObject
,Dimension
@TitleProperty(name="dimensionName")
public class DefaultDimension
extends ISOMetadata
implements Dimension
Axis properties.
The following properties are mandatory in a well-formed metadata according ISO 19115:
MD_Dimension
├─dimensionName……
Name of the axis.
└─dimensionSize……
Number of elements along the axis.Limitations
- Instances of this class are not synchronized for multi-threading. Synchronization, if needed, is caller's responsibility.
- Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases.
Serialization support is appropriate for short term storage or RMI between applications running the
same version of Apache SIS. For long term storage, use
XML
instead.
- Since:
- 0.3
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ModifiableMetadata
ModifiableMetadata.State
-
Field Summary
Fields inherited from class ISOMetadata
identifiers
-
Constructor Summary
ConstructorDescriptionConstructs an initially empty dimension.DefaultDimension
(Dimension object) Constructs a new instance initialized with the values from the specified metadata object.DefaultDimension
(DimensionNameType dimensionName, int dimensionSize) Creates a dimension initialized to the given type and size. -
Method Summary
Modifier and TypeMethodDescriptionstatic DefaultDimension
castOrCopy
(Dimension object) Returns a SIS metadata implementation with the values of the given arbitrary implementation.Return the axis dimension description.Returns the name of the axis.Returns the number of elements along the axis.Returns the enhancement / modifier of the dimension name.Returns the degree of detail in the grid dataset.void
setDimensionDescription
(InternationalString newValue) Sets the axis dimension description.void
setDimensionName
(DimensionNameType newValue) Sets the name of the axis.void
setDimensionSize
(Integer newValue) Sets the number of elements along the axis.void
setDimensionTitle
(InternationalString newValue) Sets the enhancement / modifier of the dimension name.void
setResolution
(Double newValue) Sets the degree of detail in the grid dataset.Methods inherited from class ISOMetadata
getIdentifier, getIdentifierMap, getIdentifiers, getStandard, setIdentifier, transitionTo
Methods inherited from class ModifiableMetadata
checkWritePermission, collectionType, copyCollection, copyList, copyMap, copySet, deepCopy, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, writeCollection, writeList, writeMap, writeSet
Methods inherited from class AbstractMetadata
asMap, asTreeTable, equals, equals, getInterface, hashCode, isEmpty, prune, toString
-
Constructor Details
-
DefaultDimension
public DefaultDimension()Constructs an initially empty dimension. -
DefaultDimension
Creates a dimension initialized to the given type and size.- Parameters:
dimensionName
- the name of the axis, ornull
if none, ornull
if none.dimensionSize
- the number of elements along the axis, ornull
if none.- Throws:
IllegalArgumentException
- ifdimensionSize
is negative.
-
DefaultDimension
Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, because the other metadata contained in the given object are not recursively copied.Note on properties validation
This constructor does not verify the property values of the given metadata (e.g. whether it contains unexpected negative values). This is because invalid metadata exist in practice, and verifying their validity in this copy constructor is often too late. Note that this is not the only hole, as invalid metadata instances can also be obtained by unmarshalling an invalid XML document.- Parameters:
object
- the metadata to copy values from, ornull
if none.- See Also:
-
-
Method Details
-
castOrCopy
Returns a SIS metadata implementation with the values of the given arbitrary implementation. This method performs the first applicable action in the following choices:- If the given object is
null
, then this method returnsnull
. - Otherwise if the given object is already an instance of
DefaultDimension
, then it is returned unchanged. - Otherwise a new
DefaultDimension
instance is created using the copy constructor and returned. Note that this is a shallow copy operation, because the other metadata contained in the given object are not recursively copied.
- Parameters:
object
- the object to get as a SIS implementation, ornull
if none.- Returns:
- a SIS implementation containing the values of the given object (may be the
given object itself), or
null
if the argument was null.
- If the given object is
-
getDimensionName
Returns the name of the axis.- Specified by:
getDimensionName
in interfaceDimension
- Returns:
- name of the axis, or
null
.
-
setDimensionName
Sets the name of the axis.- Parameters:
newValue
- the new dimension name.
-
getDimensionSize
Returns the number of elements along the axis.- Specified by:
getDimensionSize
in interfaceDimension
- Returns:
- number of elements along the axis, or
null
.
-
setDimensionSize
Sets the number of elements along the axis.- Parameters:
newValue
- the new dimension size, ornull
.- Throws:
IllegalArgumentException
- if the given value is negative.
-
getResolution
Returns the degree of detail in the grid dataset.- Specified by:
getResolution
in interfaceDimension
- Returns:
- degree of detail in the grid dataset, or
null
.
-
setResolution
Sets the degree of detail in the grid dataset.- Parameters:
newValue
- the new resolution, ornull
.- Throws:
IllegalArgumentException
- if the given value is NaN, zero or negative.
-
getDimensionTitle
@UML(identifier="dimensionTitle", obligation=OPTIONAL, specification=ISO_19115) public InternationalString getDimensionTitle()Returns the enhancement / modifier of the dimension name.Example
dimensionName = "column", dimensionTitle = "longitude"- Returns:
- the enhancement / modifier of the dimension name.
- Since:
- 0.5
-
setDimensionTitle
Sets the enhancement / modifier of the dimension name.- Parameters:
newValue
- the new enhancement / modifier of the dimension name.- Since:
- 0.5
-
getDimensionDescription
@UML(identifier="dimensionDescription", obligation=OPTIONAL, specification=ISO_19115) public InternationalString getDimensionDescription()Return the axis dimension description.- Returns:
- the axis dimension description.
- Since:
- 0.5
-
setDimensionDescription
Sets the axis dimension description.- Parameters:
newValue
- the new axis dimension description.- Since:
- 0.5
-