Class JavaDocExtractor
java.lang.Object
org.codehaus.mojo.jaxb2.schemageneration.postprocessing.javadoc.JavaDocExtractor
The schemagen tool operates on compiled bytecode, where JavaDoc comments are not present. However, the javadoc documentation present in java source files is required within the generated XSD to increase usability and produce an XSD which does not loose out on important usage information.
The JavaDocExtractor is used as a post processor after creating the XSDs within the compilation unit, and injects XSD annotations into the appropriate XSD elements or types.
- Since:
- 2.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate class
Standard read-only SearchableDocumentation implementation. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate com.thoughtworks.qdox.JavaProjectBuilder
private static final String
The default value given as the return value from some annotation classes whenever the attribute has not been supplied within the codebase.private org.apache.maven.plugin.logging.Log
-
Constructor Summary
ConstructorsConstructorDescriptionJavaDocExtractor
(org.apache.maven.plugin.logging.Log log) Creates a JavaDocExtractor wrapping the supplied Maven Log. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addEntry
(SortedMap<SortableLocation, JavaDocData> map, SortableLocation key, com.thoughtworks.qdox.model.JavaAnnotatedElement value) addSourceFiles
(List<File> sourceCodeFiles) Adds the supplied sourceCodeFiles for processing by this JavaDocExtractor.addSourceURLs
(List<URL> sourceCodeURLs) Adds the supplied sourceCodeFiles for processing by this JavaDocExtractor.private static String
getAnnotationAttributeValueFrom
(Class<?> annotationType, String attributeName, List<com.thoughtworks.qdox.model.JavaAnnotation> annotations) Finds the value of the attribute with the supplied name within the first matching JavaAnnotation of the given type encountered in the given annotations List.private static boolean
hasAnnotation
(Class<?> annotationType, List<com.thoughtworks.qdox.model.JavaAnnotation> annotations) process()
Processes all supplied Java source Files and URLs to extract JavaDocData for all ClassLocations from which JavaDoc has been collected.void
setEncoding
(String encoding) Assigns the encoding of the underlyingJavaProjectBuilder
.
-
Field Details
-
DEFAULT_VALUE
The default value given as the return value from some annotation classes whenever the attribute has not been supplied within the codebase.- See Also:
-
builder
private com.thoughtworks.qdox.JavaProjectBuilder builder -
log
private org.apache.maven.plugin.logging.Log log
-
-
Constructor Details
-
JavaDocExtractor
public JavaDocExtractor(org.apache.maven.plugin.logging.Log log) Creates a JavaDocExtractor wrapping the supplied Maven Log.- Parameters:
log
- A non-null Log.
-
-
Method Details
-
setEncoding
Assigns the encoding of the underlyingJavaProjectBuilder
.- Parameters:
encoding
- The non-empty encoding to be set into the underlyingJavaProjectBuilder
.
-
addSourceFiles
Adds the supplied sourceCodeFiles for processing by this JavaDocExtractor.- Parameters:
sourceCodeFiles
- The non-null List of source code files to add.- Returns:
- This JavaDocExtractor, for call chaining.
- Throws:
IllegalArgumentException
- If any of the given sourceCodeFiles could not be read properly.
-
addSourceURLs
Adds the supplied sourceCodeFiles for processing by this JavaDocExtractor.- Parameters:
sourceCodeURLs
- The non-null List of source code URLs to add.- Returns:
- This JavaDocExtractor, for call chaining.
- Throws:
IllegalArgumentException
- If any of the given sourceCodeURLs could not be read properly.
-
process
Processes all supplied Java source Files and URLs to extract JavaDocData for all ClassLocations from which JavaDoc has been collected.- Returns:
- A SearchableDocumentation relating SortableLocations and their paths to harvested JavaDocData.
-
getAnnotationAttributeValueFrom
private static String getAnnotationAttributeValueFrom(Class<?> annotationType, String attributeName, List<com.thoughtworks.qdox.model.JavaAnnotation> annotations) Finds the value of the attribute with the supplied name within the first matching JavaAnnotation of the given type encountered in the given annotations List. This is typically used for reading values of annotations such asXmlElement
,XmlAttribute
orXmlEnumValue
.- Parameters:
annotationType
- The type of annotation to read attribute values from.attributeName
- The name of the attribute the value of which should be returned.annotations
- The list of JavaAnnotations to filter from.- Returns:
- The first matching JavaAnnotation of type annotationType within the given annotations
List, or
null
if none was found. - Since:
- 2.2
-
hasAnnotation
-
addEntry
private void addEntry(SortedMap<SortableLocation, JavaDocData> map, SortableLocation key, com.thoughtworks.qdox.model.JavaAnnotatedElement value)
-