| java.lang.Object org.geotools.metadata.MetadataStandard
MetadataStandard | final public class MetadataStandard (Code) | | Enumeration of some metadata standards. A standard is defined by a set of Java interfaces
in a specific package or subpackages. For example the
standard is defined by GeoAPI interfaces in
the
org.opengis.metadata package and subpackages.
This class provides some methods operating on metadata instances through
. The following rules are
assumed:
- Properties (or metadata attributes) are defined by the set of
get*() (arbitrary return type) or
is*() (boolean return type) methods found
in the interface. Getters declared in the implementation
only are ignored.
- A property is writable if a
set*(...) method is defined
in the implementation class for the corresponding
get*() method. The
setter don't need to be defined in the interface.
since: 2.4 version: $Id: MetadataStandard.java 25175 2007-04-16 13:40:57Z desruisseaux $ author: Martin Desruisseaux (Geomatys) |
Field Summary | |
final public static MetadataStandard | ISO_19115 An instance working on ISO 19115 standard as defined by
GeoAPI interfaces
in the
org.opengis.metadata package and subpackages. |
Constructor Summary | |
public | MetadataStandard(String interfacePackage) Creates a new instance working on implementation of interfaces defined
in the specified package. |
Method Summary | |
public Map | asMap(Object metadata) Returns a view of the specified metadata object as a
.
The map is backed by the metadata object using Java reflection, so changes
in the underlying metadata object are immediately reflected in the map.
The keys are the property names as determined by the list of
get*() methods declared in the
.
The map supports the
Map.put put operations if the underlying
metadata object contains
#set*(...) methods.
Parameters: metadata - The metadata object to view as a map. | public TreeModel | asTree(Object metadata) Returns a view of the specified metadata as a tree. | final void | freeze(Object metadata) | final PropertyAccessor | getAccessorOptional(Class implementation) Returns the accessor for the specified implementation, or
null if none. | public Class | getInterface(Class implementation) Returns the metadata interface implemented by the specified implementation class. | public int | hashCode(Object metadata) Computes a hash code for the specified metadata. | final boolean | isModifiable(Class implementation) Returns
true if this metadata is modifiable. | public void | shallowCopy(Object source, Object target, boolean skipNulls) Copies all metadata from source to target. | public boolean | shallowEquals(Object metadata1, Object metadata2, boolean skipNulls) Compares the two specified metadata objects. | public String | toString(Object metadata) Returns a string representation of the specified metadata.
Parameters: metadata - The metadata object to formats as a string. |
ISO_19115 | final public static MetadataStandard ISO_19115(Code) | | An instance working on ISO 19115 standard as defined by
GeoAPI interfaces
in the
org.opengis.metadata package and subpackages.
|
MetadataStandard | public MetadataStandard(String interfacePackage)(Code) | | Creates a new instance working on implementation of interfaces defined
in the specified package. For the ISO 19115 standard reflected by GeoAPI
interfaces, it should be the
org.opengis.metadata package.
Parameters: interfacePackage - The root package for metadata interfaces. |
asMap | public Map asMap(Object metadata) throws ClassCastException(Code) | | Returns a view of the specified metadata object as a
.
The map is backed by the metadata object using Java reflection, so changes
in the underlying metadata object are immediately reflected in the map.
The keys are the property names as determined by the list of
get*() methods declared in the
.
The map supports the
Map.put put operations if the underlying
metadata object contains
#set*(...) methods.
Parameters: metadata - The metadata object to view as a map. A map view over the metadata object. throws: ClassCastException - if at the metadata object don'timplements a metadata interface of the expected package. See Also: AbstractMap.asMap |
asTree | public TreeModel asTree(Object metadata) throws ClassCastException(Code) | | Returns a view of the specified metadata as a tree. Note that while
TreeModel is defined in the
javax.swing.tree package, it can be seen as a data structure
independent of Swing. It will not force class loading of Swing framework.
In current implementation, the tree is not live (i.e. changes in metadata are not
reflected in the tree). However it may be improved in a future Geotools implementation.
Parameters: metadata - The metadata object to formats as a string. A tree representation of the specified metadata. throws: ClassCastException - if at the metadata object don'timplements a metadata interface of the expected package. See Also: AbstractMap.asTree |
getAccessorOptional | final PropertyAccessor getAccessorOptional(Class implementation)(Code) | | Returns the accessor for the specified implementation, or
null if none.
|
getInterface | public Class getInterface(Class implementation) throws ClassCastException(Code) | | Returns the metadata interface implemented by the specified implementation class.
throws: ClassCastException - if the specified implementation class donot implements a metadata interface of the expected package. See Also: AbstractMap.getInterface |
hashCode | public int hashCode(Object metadata) throws ClassCastException(Code) | | Computes a hash code for the specified metadata. The hash code is defined as the
sum of hash code values of all non-null properties. This is the same contract than
java.util.Set.hashCode and ensure that the hash code value is insensitive
to the ordering of properties.
Parameters: metadata - The metadata object to compute hash code. A hash code value for the specified metadata. throws: ClassCastException - if at the metadata object don'timplements a metadata interface of the expected package. See Also: AbstractMap.hashCode |
isModifiable | final boolean isModifiable(Class implementation) throws ClassCastException(Code) | | Returns
true if this metadata is modifiable. This method is not public because it
uses heuristic rules. In case of doubt, this method conservatively returns
true .
throws: ClassCastException - if the specified implementation class donot implements a metadata interface of the expected package. See Also: AbstractMap.isModifiable |
shallowCopy | public void shallowCopy(Object source, Object target, boolean skipNulls) throws ClassCastException, UnmodifiableMetadataException(Code) | | Copies all metadata from source to target. The source must implements the same
metadata interface than the target.
Parameters: source - The metadata to copy. Parameters: target - The target metadata. Parameters: skipNulls - If true , only non-null values will be copied. throws: ClassCastException - if the source or target object don'timplements a metadata interface of the expected package. throws: UnmodifiableMetadataException - if the target metadata is unmodifiable,or if at least one setter method was required but not found. See Also: AbstractMap.AbstractMap(Object) |
shallowEquals | public boolean shallowEquals(Object metadata1, Object metadata2, boolean skipNulls) throws ClassCastException(Code) | | Compares the two specified metadata objects. The comparaison is shallow,
i.e. all metadata attributes are compared using the
Object.equals method without
recursive call to this
shallowEquals(...) method for child metadata.
This method can optionaly excludes null values from the comparaison. In metadata,
null value often means "don't know", so in some occasion we want to consider two
metadata as different only if an attribute value is know for sure to be different.
The first arguments must be an implementation of a metadata interface, otherwise an
exception will be thrown. The two argument do not need to be the same implementation
however.
Parameters: metadata1 - The first metadata object to compare. Parameters: metadata2 - The second metadata object to compare. Parameters: skipNulls - If true , only non-null values will be compared. throws: ClassCastException - if at least one metadata object don'timplements a metadata interface of the expected package. See Also: AbstractMetadata.equals |
toString | public String toString(Object metadata) throws ClassCastException(Code) | | Returns a string representation of the specified metadata.
Parameters: metadata - The metadata object to formats as a string. A string representation of the specified metadata. throws: ClassCastException - if at the metadata object don'timplements a metadata interface of the expected package. See Also: AbstractMap.toString |
|
|