Class DomHelper
java.lang.Object
org.codehaus.mojo.jaxb2.schemageneration.postprocessing.javadoc.DomHelper
Helper class stashing commonly used algorithms to work with DOM documents.
- Since:
- 2.3
- Author:
- Lennart Jörelid, jGuru Europe AB
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe name of the annotation element.The names of DOM Elements corresponding to Java class Fields or Methods.static final StringThe name of the documentation element.The names of DOM Elements corresponding to Java enum Fields or Methods.static final StringThe namespace schema prefix for the URIhttp://www.w3.org/2001/XMLSchema(i.e. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddXmlDocumentAnnotationTo(Node aNode, String formattedDocumentation) Adds the given formattedDocumentation within an XML documentation annotation under the supplied Node.static ClassLocationgetClassLocation(Node aNode, Set<ClassLocation> classLocations) Retrieves the ClassLocation for the supplied aNode.static StringgetElementTagName(Node aNode) Retrieves the TagName for the supplied Node if it is an Element, and null otherwise.static FieldLocationgetFieldLocation(Node aNode, Set<FieldLocation> fieldLocations) Retrieves a FieldLocation from the supplied Set, provided that the FieldLocation matches the supplied Node.static <T extends FieldLocation>
TgetFieldOrMethodLocationIfValid(Node aNode, Node containingClassNode, Set<? extends FieldLocation> locations) Retrieves a FieldLocation or MethodLocation from the supplied Set of Field- or MethodLocations, provided that the supplied Node has the given containing Node corresponding to a Class or an Enum.static MethodLocationgetMethodLocation(Node aNode, Set<MethodLocation> methodLocations) Finds the MethodLocation within the given Set, which corresponds to the supplied DOM Node.static StringgetNameAttribute(Node aNode) Retrieves the value of thenameattribute of the supplied Node.static StringgetValueAttribute(Node aNode) Retrieves the value of thevalueattribute of the supplied Node.static StringgetXPathFor(Node aNode) Retrieves the XPath for the supplied Node within its document.static voidinsertXmlDocumentationAnnotationsFor(Node aNode, SortedMap<ClassLocation, JavaDocData> classJavaDocs, SortedMap<FieldLocation, JavaDocData> fieldJavaDocs, SortedMap<MethodLocation, JavaDocData> methodJavaDocs, JavaDocRenderer renderer) Processes the supplied DOM Node, inserting XML Documentation annotations if applicable.static booleanisNamedElement(Node aNode) Checks if the supplied DOM Node is a DOM Element having a defined "name" attribute.
-
Field Details
-
ANNOTATION_ELEMENT_NAME
The name of the annotation element.- See Also:
-
DOCUMENTATION_ELEMENT_NAME
The name of the documentation element.- See Also:
-
XSD_SCHEMA_NAMESPACE_PREFIX
The namespace schema prefix for the URIhttp://www.w3.org/2001/XMLSchema(i.e.XMLConstants.W3C_XML_SCHEMA_NS_URI).- See Also:
-
CLASS_FIELD_METHOD_ELEMENT_NAMES
The names of DOM Elements corresponding to Java class Fields or Methods. -
ENUMERATION_FIELD_METHOD_ELEMENT_NAMES
The names of DOM Elements corresponding to Java enum Fields or Methods.
-
-
Method Details
-
getNameAttribute
Retrieves the value of thenameattribute of the supplied Node.- Parameters:
aNode- A DOM Node.- Returns:
- the value of the
nameattribute of the supplied Node/Element.
-
getValueAttribute
Retrieves the value of thevalueattribute of the supplied Node.- Parameters:
aNode- A DOM Node.- Returns:
- the value of the
valueattribute of the supplied Node/Element.
-
isNamedElement
Checks if the supplied DOM Node is a DOM Element having a defined "name" attribute.- Parameters:
aNode- A DOM Node.- Returns:
trueif the supplied aNode is an Elemnet having a defined "name" attribute.
-
getElementTagName
Retrieves the TagName for the supplied Node if it is an Element, and null otherwise.- Parameters:
aNode- A DOM Node.- Returns:
- The TagName of the Node if it is an Element, and null otherwise.
-
addXmlDocumentAnnotationTo
Adds the given formattedDocumentation within an XML documentation annotation under the supplied Node. Only adds the documentation annotation if the formattedDocumentation is non-null and non-empty. The documentation annotation is on the form:
<xs:annotation> <xs:documentation>(JavaDoc here, within a CDATA section)</xs:documentation> </xs:annotation>- Parameters:
aNode- The non-null Node to which an XML documentation annotation should be added.formattedDocumentation- The documentation text to add.
-
getXPathFor
Retrieves the XPath for the supplied Node within its document.- Parameters:
aNode- The DOM Node for which the XPath should be retrieved.- Returns:
- The XPath to the supplied DOM Node.
-
getClassLocation
Retrieves the ClassLocation for the supplied aNode.- Parameters:
aNode- A non-null DOM Node.classLocations- The set of known ClassLocations, extracted from the JavaDocs.- Returns:
- the ClassLocation matching the supplied Node
-
getMethodLocation
Finds the MethodLocation within the given Set, which corresponds to the supplied DOM Node.- Parameters:
aNode- A DOM Node.methodLocations- The Set of all found/known MethodLocation instances.- Returns:
- The MethodLocation matching the supplied Node - or
nullif no match was found.
-
getFieldLocation
Retrieves a FieldLocation from the supplied Set, provided that the FieldLocation matches the supplied Node.- Parameters:
aNode- The non-null Node.fieldLocations- The Set of known/found FieldLocation instances.- Returns:
- The FieldLocation corresponding to the supplied DOM Node.
-
getFieldOrMethodLocationIfValid
public static <T extends FieldLocation> T getFieldOrMethodLocationIfValid(Node aNode, Node containingClassNode, Set<? extends FieldLocation> locations) Retrieves a FieldLocation or MethodLocation from the supplied Set of Field- or MethodLocations, provided that the supplied Node has the given containing Node corresponding to a Class or an Enum.- Type Parameters:
T- The FieldLocation type.- Parameters:
aNode- A non-null DOM Node.containingClassNode- A Non-null DOM Node corresponding to a Class or Enum.locations- A Set containing known/found Field- and MethodLocations.- Returns:
- The Matching Field- or MethodLocation.
-
insertXmlDocumentationAnnotationsFor
public static void insertXmlDocumentationAnnotationsFor(Node aNode, SortedMap<ClassLocation, JavaDocData> classJavaDocs, SortedMap<FieldLocation, JavaDocData> fieldJavaDocs, SortedMap<MethodLocation, JavaDocData> methodJavaDocs, JavaDocRenderer renderer) Processes the supplied DOM Node, inserting XML Documentation annotations if applicable.- Parameters:
aNode- The DOM Node to process.classJavaDocs- A Map relatingClassLocations toJavaDocData.fieldJavaDocs- A Map relatingFieldLocations toJavaDocData.methodJavaDocs- A Map relatingMethodLocations toJavaDocData.renderer- A non-nullJavaDocRenderer.
-