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.
author: Keith Visco author: Ralf Joachim version: $Revision: 6907 $ $Date: 2006-04-13 06:47:36 -0600 (Thu, 13 Apr 2006) $
Field Summary
public boolean
_isReference True if the field is a reference to another Object in the hierarchy.
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.
public void
setContainer(boolean isContainer) Set if the field is a container field or not.
public void
setIncremental(boolean incremental) Sets the incremental flag which indicates whether this member can be
added before the unmarshaler is finished unmarshaling it.
setQNamePrefix(String qNamePrefix) Sets the prefix used in case the value of the field described by this
descriptor is of type QName.
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.
public void
setSchemaType(String schemaType) Sets the type of the XML Schema type of the value for the field being
described.
public void
setSubstitutes(List substitutes) Sets the possible substitution groups for this class.
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.
Construct a new field descriptor for the specified field. This is an XML
field descriptor wrapping a field descriptor and adding XML related
properties and methods.
Parameters: fieldDesc - The field descriptor Parameters: xmlName - The XML name of the field Parameters: nodeType - The node type of this field Parameters: primitiveNodeType - throws: MappingException - Invalid mapping information
Returns true if two XMLFieldDescriptors should be treated as equal. Any
XMLFieldDescriptor that handles the same field is considered equal.
Parameters: obj - The object to compare to this true if two XMLFieldDescriptors should be treated as equal.
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.
public void setConstructorArgumentIndex(int index)(Code)
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.
Parameters: index - the index within the argument array. A value less than zeroindicates that this field should not be part of the constructorarguments.
setContainer
public void setContainer(boolean isContainer)(Code)
Set if the field is a container field or not.
Parameters: isContainer - a boolean indicating whether or not the field is acontainer field.
setIncremental
public void setIncremental(boolean incremental)(Code)
Sets the incremental flag which indicates whether this member can be
added before the unmarshaler is finished unmarshaling it.
Parameters: incremental - the boolean which if true indicated that this membercan safely be added before the unmarshaler is finishedunmarshaling it.
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"
Parameters: path - the "relative" location path for the field. See Also:XMLFieldDescriptorImpl.getLocationPath
Sets whether or not this field has been mapped in a Map or Hashtable.
Parameters: mapped - a boolean that when true indicates this field is aHashtable or Map.
This is a space separated list of xml names that this Field descriptor
matches. A '*' is wild.
Parameters: matchExpr - the space separated list of xml names, matched by thisdescriptor.
setNameSpacePrefix
public void setNameSpacePrefix(String nsPrefix)(Code)
Sets the namespace prefix used when marshaling as XML.
Parameters: nsPrefix - The namespace prefix used when marshaling the"described" object.
Sets the namespace URI used when marshaling and unmarshaling as XML.
Parameters: nsURI - The namespace URI used when marshaling and unmarshaling the"described" Object.
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.
Parameters: nillable - a boolean indicating whether or not the described fieldmay be nillable.
Sets the value property with the given name.
Parameters: propertyName - The name of the property to set the value of. Parameters: value - The value of the property. See Also:XMLFieldDescriptorImpl.getProperty
setQNamePrefix
public void setQNamePrefix(String qNamePrefix)(Code)
Sets the prefix used in case the value of the field described by this
descriptor is of type QName.
Parameters: qNamePrefix -
setReference
public void setReference(boolean isReference)(Code)
Sets the flag indicating that the field described by this descriptor is a
reference to another field in the object model.
Parameters: isReference - true if the field is a reference to another field.
setSchemaType
public void setSchemaType(String schemaType)(Code)
Sets the type of the XML Schema type of the value for the field being
described.
Parameters: schemaType - The value type.
setSubstitutes
public void setSubstitutes(List substitutes)(Code)
Sets the possible substitution groups for this class.
Parameters: substitutes - Possible substitution groups for this class.
setUseParentsNamespace
public void setUseParentsNamespace(boolean useParentsNamespace)(Code)
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.