XML field descriptor. Wraps
FieldDescriptor
and adds XML-related
information, type conversion, etc.
Note: When using a GeneralizedFieldHandler the getFieldType() methods of
handler and descriptor need to return the same result.
equals
public boolean equals(Object obj)
Returns true if two XMLFieldDescriptors should be treated as equal. Any
XMLFieldDescriptor that handles the same field is considered equal.
obj
- The object to compare to this
- true if two XMLFieldDescriptors should be treated as equal.
getQNamePrefix
public String getQNamePrefix()
Returns the prefix used in case the value of the field described by this
descriptor is of type QName. This is helpful for the marshaler but not
mandatory.
- the prefix used in the QName value.
getSubstitutes
public List getSubstitutes()
Returns the possible substitution groups for this class.
- getSubstitutes in interface XMLFieldDescriptor
- the possible substitution groups for this class.
hashCode
public int hashCode()
Returns the hashCode for this XMLFieldDescriptor
- the hashCode for this XMLFieldDescriptor
setComponentType
public void setComponentType(String componentType)
Sets the type of the XML Schema type of the value for the field being
described.
componentType
- The component type for <xs:list>s.
setConstructorArgumentIndex
public void setConstructorArgumentIndex(int index)
Sets whether or not the value of the field represented by this
FieldDescriptor should be set via the constructor of the containing
ClassDescriptor. The index value greater than 0 specifies the index
within the argument array that the value of this field should be.
Note: This only applies to attribute mapped fields at this time.
index
- the index within the argument array. A value less than zero
indicates that this field should not be part of the constructor
arguments.
setContainer
public void setContainer(boolean isContainer)
Set if the field is a container field or not.
isContainer
- a boolean indicating whether or not the field is a
container field.
setIncremental
public void setIncremental(boolean incremental)
Sets the incremental flag which indicates whether this member can be
added before the unmarshaler is finished unmarshaling it.
incremental
- the boolean which if true indicated that this member
can safely be added before the unmarshaler is finished
unmarshaling it.
setLocationPath
public void setLocationPath(String path)
Sets the location path for the field being described.
In most cases, this isn't needed. However sometimes a field may be mapped
to a nested element. In which case the value of the location path should
be the nested element name. If more than one level of nesting is needed
each nested element name should be separated by a path separator (forward
slash '/').
The location path name is "relative" to the parent Class. The name of the
parent should not be included in the path.
For example, give the following two classes:
class Root {
Bar bar;
}
class Bar {
String value;
}
And the following XML:
<root>
<foo>
<bar> value of bar </bar>
</foo>
</root>
Since foo has no associated class, the path for 'bar' would be: "foo"
path
- the "relative" location path for the field.
setMapped
public void setMapped(boolean mapped)
Sets whether or not this field has been mapped in a Map or Hashtable.
mapped
- a boolean that when true indicates this field is a
Hashtable or Map.
setMatches
public void setMatches(String matchExpr)
This is a space separated list of xml names that this Field descriptor
matches. A '*' is wild.
matchExpr
- the space separated list of xml names, matched by this
descriptor.
setNameSpacePrefix
public void setNameSpacePrefix(String nsPrefix)
Sets the namespace prefix used when marshaling as XML.
nsPrefix
- The namespace prefix used when marshaling the
"described" object.
setNameSpaceURI
public void setNameSpaceURI(String nsURI)
Sets the namespace URI used when marshaling and unmarshaling as XML.
nsURI
- The namespace URI used when marshaling and unmarshaling the
"described" Object.
setNillable
public void setNillable(boolean nillable)
Sets whether or not the described field is allowed to be nil. A nillable
field can have empty content (text or element content), but may have
attribute values, and still be considered value, even if the child
elements are required.
nillable
- a boolean indicating whether or not the described field
may be nillable.
setNodeType
public void setNodeType(NodeType nodeType)
Sets the XML node type for the described field.
nodeType
- the NodeType for the described field.
setProperty
public void setProperty(String propertyName,
String value)
Sets the value property with the given name.
propertyName
- The name of the property to set the value of.value
- The value of the property.
setQNamePrefix
public void setQNamePrefix(String qNamePrefix)
Sets the prefix used in case the value of the field described by this
descriptor is of type QName.
setReference
public void setReference(boolean isReference)
Sets the flag indicating that the field described by this descriptor is a
reference to another field in the object model.
isReference
- true if the field is a reference to another field.
setSchemaType
public void setSchemaType(String schemaType)
Sets the type of the XML Schema type of the value for the field being
described.
schemaType
- The value type.
setSubstitutes
public void setSubstitutes(List substitutes)
Sets the possible substitution groups for this class.
- setSubstitutes in interface XMLFieldDescriptor
substitutes
- Possible substitution groups for this class.
setUseParentsNamespace
public void setUseParentsNamespace(boolean useParentsNamespace)
Sets whether or not the namespace for the parent "containing" class
should be used during marshaling/unmarshaling when no specific
namespace URI has been set for this field.
setXMLName
public void setXMLName(String xmlName)
Sets the xml name for the described field.
xmlName
- the XML name for the described field.
toString
public String toString()