org.apache.muse.ws.resource.metadata
Interface MetadataDescriptor
- All Superinterfaces:
- XmlSerializable
- All Known Implementing Classes:
- OpenMetadataDescriptor, SimpleMetadataDescriptor
- public interface MetadataDescriptor
- extends XmlSerializable
MetadataDescriptor is an interface for a single metadata descriptor.
It defines a lookup service for property metadata; in addition to
actual metadata values, the interface has convenience methods for
answering common questions ("Can I delete this property?", etc.)
rather than requiring the user to calculate the answers based on
metadata values. This interface is based on WS-RMD 1.0.
- Author:
- Dan Jemiolo (danj)
canDelete
public boolean canDelete(QName property)
- Parameters:
property
-
- Returns:
- True if the property can be deleted (it is read-write and
mutable)
canInsert
public boolean canInsert(QName property)
- Parameters:
property
-
- Returns:
- True if the property can have new instances inserted (it is
read-write and mutable/appendable).
canUpdate
public boolean canUpdate(QName property)
- Parameters:
property
-
- Returns:
- True if the property's instances can be updated (it is
read-write and mutable).
getExtendedMetadata
public java.lang.String getExtendedMetadata(QName property,
QName elementName)
- This method allows you to extend a wsrmd:Property definition and provide
application-specific metadata for a property. These will be parsed as
simple name-value pairs - you cannot associate complex types or XML
fragments with an extended metadata item.
- Parameters:
property
- elementName
- The name of the extended metadata item.
- Returns:
- The value of the extended metadata item, or null if there is no
such item.
getInitialValues
public java.util.Collection getInitialValues(QName property)
- Parameters:
property
-
- Returns:
- The collection of initial values defined for this property.
The actual values are DOM Elements, since that is how they are
described in the RMD. They can be compared to the results of a
WS-RP GetResourceProperty call. - See Also:
getInitialValues(QName, Class)
getInitialValues
public java.util.Collection getInitialValues(QName property,
java.lang.Class javaType)
throws SoapFault
- Parameters:
property
- javaType
- The type whose serializer should be used to convert the
property values (DOM Elements) into POJOs.
- Returns:
- The array of getInitialValues(QName) in POJO form.
- Throws:
SoapFault
-
- If there is no Serializer registered for the given type.
- If the property value XML can not be translated into an
instance of the given type.
- See Also:
getValidValues(QName)
getInterface
public QName getInterface()
getLowerBound
public java.lang.String getLowerBound(QName property)
- Parameters:
property
-
- Returns:
- The lower bound of the property's valid value range, if one
is defined. The user must interpret the string value in the
context of the property's type. The method returns null if
no range is defined.
getName
public java.lang.String getName()
- Returns:
- The name of the metadata descriptor (defined in XML by its
"name" attribute).
getPropertyNames
public java.util.Collection getPropertyNames()
- Returns:
- The collection of property names that are defined in this
descriptor.
getStaticValues
public java.util.Collection getStaticValues(QName property)
- Parameters:
property
-
- Returns:
- The collection of static values defined for this property. If
no static values exist, the collection will be empty.
The actual values are DOM Elements, since that is how they are
described in the RMD. They can be compared to the results of a
WS-RP GetResourceProperty call. - See Also:
getStaticValues(QName, Class)
getStaticValues
public java.util.Collection getStaticValues(QName property,
java.lang.Class javaType)
throws SoapFault
- Parameters:
property
- javaType
- The type whose serializer should be used to convert the
property values (DOM Elements) into POJOs.
- Returns:
- The array of getStaticValues(QName) in POJO form.
- Throws:
SoapFault
-
- If there is no Serializer registered for the given type.
- If the property value XML can not be translated into an
instance of the given type.
- See Also:
getStaticValues(QName)
getUpperBound
public java.lang.String getUpperBound(QName property)
- Parameters:
property
-
- Returns:
- The upper bound of the property's valid value range, if one
is defined. The user must interpret the string value in the
context of the property's type. The method returns null if
no range is defined.
getValidValues
public java.util.Collection getValidValues(QName property)
- Parameters:
property
-
- Returns:
- The collection of valid values defined for this property. If
no valid values exist, the collection will be empty (in this
case, all values are valid).
The actual values are DOM Elements, since that is how they are
described in the RMD (unlike a valid value range, the valid
values are complete property instances). They can be compared
to the results of a WS-RP GetResourceProperty call. - See Also:
getValidValues(QName, Class)
getValidValues
public java.util.Collection getValidValues(QName property,
java.lang.Class javaType)
throws SoapFault
- Parameters:
property
- javaType
- The type whose serializer should be used to convert the
property values (DOM Elements) into POJOs.
- Returns:
- The array of getValidValues(QName) in POJO form.
- Throws:
SoapFault
-
- If there is no Serializer registered for the given type.
- If the property value XML can not be translated into an
instance of the given type.
- See Also:
getValidValues(QName)
getWsdlLocation
public java.lang.String getWsdlLocation()
hasProperty
public boolean hasProperty(QName property)
- Parameters:
property
-
- Returns:
- True if the descriptor defines a property with the given name.
isInitialValue
public boolean isInitialValue(QName property,
java.lang.Object value)
- Parameters:
property
- value
-
- Returns:
- True if the given value is found in the property's set of
initial values. If the property has no initial values defined,
the method returns "false".
isReadOnlyExternal
public boolean isReadOnlyExternal(QName property)
- Parameters:
property
-
- Returns:
- True if the property cannot be modified by external clients,
but is mutable by internal code (it is read-only but mutable).
isStaticValue
public boolean isStaticValue(QName property,
java.lang.Object value)
- Parameters:
property
- value
-
- Returns:
- True if the given value is found in the property's set of
static values. If the property has no static values defined,
the method returns "false".
isValidValue
public boolean isValidValue(QName property,
java.lang.Object value)
- Parameters:
property
- value
-
- Returns:
- True if the given value is found in the property's set of
valid values. If the property has no valid values defined,
the method returns "true".