org.eclipse.jpt.jaxb.core.resource.java
Interface XmlElementAnnotation

All Superinterfaces:
Annotation, JavaResourceNode, JaxbContainmentAnnotation, Model, NestableAnnotation

public interface XmlElementAnnotation
extends JaxbContainmentAnnotation, NestableAnnotation

Corresponds to the JAXB annotation javax.xml.bind.annotation.XmlElement Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Since:
3.0
Version:
3.0

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.jpt.jaxb.core.resource.java.JavaResourceNode
JavaResourceNode.Root
 
Field Summary
static java.lang.String ANNOTATION_NAME
           
static java.lang.String DEFAULT_VALUE_PROPERTY
           
static java.lang.String FULLY_QUALIFIED_TYPE_NAME_PROPERTY
           
static java.lang.String NILLABLE_PROPERTY
           
static java.lang.String TYPE_PROPERTY
           
 
Fields inherited from interface org.eclipse.jpt.jaxb.core.resource.java.JaxbContainmentAnnotation
NAME_PROPERTY, NAMESPACE_PROPERTY, REQUIRED_PROPERTY
 
Method Summary
 java.lang.String getDefaultValue()
          Corresponds to the 'defaultValue' element of the XmlElement annotation.
 TextRange getDefaultValueTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
          Return the TextRange for the 'defaultValue' element.
 java.lang.String getFullyQualifiedTypeName()
          Return the fully-qualified type name as resolved by the AST's bindings.
 java.lang.Boolean getNillable()
          Corresponds to the 'nillable' element of the XmlElement annotation.
 TextRange getNillableTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
          Return the TextRange for the 'nillable' element.
 java.lang.String getType()
          Corresponds to the 'type' element of the XmlElement annotation.
 TextRange getTypeTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
          Return the TextRange for the 'type' element.
 void setDefaultValue(java.lang.String defaultValue)
          Corresponds to the 'defaultValue' element of the XmlElement annotation.
 void setNillable(java.lang.Boolean nillable)
          Corresponds to the 'nillable' element of the XmlElement annotation.
 void setType(java.lang.String type)
          Corresponds to the 'type' element of the XmlElement annotation.
 
Methods inherited from interface org.eclipse.jpt.jaxb.core.resource.java.JaxbContainmentAnnotation
getName, getNamespace, getNamespaceTextRange, getNameTextRange, getRequired, getRequiredTextRange, namespaceTouches, nameTouches, setName, setNamespace, setRequired
 
Methods inherited from interface org.eclipse.jpt.jaxb.core.resource.java.NestableAnnotation
moveAnnotation
 
Methods inherited from interface org.eclipse.jpt.jaxb.core.resource.java.Annotation
getAnnotationName, getAstAnnotation, newAnnotation, removeAnnotation
 
Methods inherited from interface org.eclipse.jpt.jaxb.core.resource.java.JavaResourceNode
getFile, getJavaResourceCompilationUnit, getRoot, getTextRange, initialize, synchronizeWith
 
Methods inherited from interface org.eclipse.jpt.common.utility.model.Model
addChangeListener, addCollectionChangeListener, addListChangeListener, addPropertyChangeListener, addStateChangeListener, addTreeChangeListener, removeChangeListener, removeCollectionChangeListener, removeListChangeListener, removePropertyChangeListener, removeStateChangeListener, removeTreeChangeListener
 

Field Detail

ANNOTATION_NAME

static final java.lang.String ANNOTATION_NAME
See Also:
Constant Field Values

DEFAULT_VALUE_PROPERTY

static final java.lang.String DEFAULT_VALUE_PROPERTY
See Also:
Constant Field Values

NILLABLE_PROPERTY

static final java.lang.String NILLABLE_PROPERTY
See Also:
Constant Field Values

TYPE_PROPERTY

static final java.lang.String TYPE_PROPERTY
See Also:
Constant Field Values

FULLY_QUALIFIED_TYPE_NAME_PROPERTY

static final java.lang.String FULLY_QUALIFIED_TYPE_NAME_PROPERTY
See Also:
Constant Field Values
Method Detail

getDefaultValue

java.lang.String getDefaultValue()
Corresponds to the 'defaultValue' element of the XmlElement annotation. Return null if the element does not exist in Java.


setDefaultValue

void setDefaultValue(java.lang.String defaultValue)
Corresponds to the 'defaultValue' element of the XmlElement annotation. Set to null to remove the element.


getDefaultValueTextRange

TextRange getDefaultValueTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
Return the TextRange for the 'defaultValue' element. If the element does not exist return the TextRange for the XmlElement annotation.


getNillable

java.lang.Boolean getNillable()
Corresponds to the 'nillable' element of the XmlElement annotation. Return null if the element does not exist in Java.


setNillable

void setNillable(java.lang.Boolean nillable)
Corresponds to the 'nillable' element of the XmlElement annotation. Set to null to remove the element.


getNillableTextRange

TextRange getNillableTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
Return the TextRange for the 'nillable' element. If the element does not exist return the TextRange for the XmlElement annotation.


getType

java.lang.String getType()
Corresponds to the 'type' element of the XmlElement annotation. Return null if the element does not exist in Java. Return the portion of the value preceding ".class".
     @XmlElement(type=Foo.class)
 
will return "Foo"


setType

void setType(java.lang.String type)
Corresponds to the 'type' element of the XmlElement annotation. Set to null to remove the element.


getTypeTextRange

TextRange getTypeTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
Return the TextRange for the 'type' element. If the element does not exist return the TextRange for the XmlElement annotation.


getFullyQualifiedTypeName

java.lang.String getFullyQualifiedTypeName()
Return the fully-qualified type name as resolved by the AST's bindings.
     @XmlElement(type=Foo.class)
 
will return "model.Foo" if there is an import for model.Foo.

Returns: