Generates an XSD Dependency Tree.
| Type | Name and description |
|---|---|
static org.gradle.api.logging.Logger |
log |
TreeManager |
treeManagerHolds and manages the xsd dependency tree. |
| Constructor and description |
|---|
XsdDependencyTreeFactory
(TreeManager treeManager)Creates this factory. |
| Type | Name and description |
|---|---|
TreeManager |
createDependencyTree(java.util.List<XsdNamespace> namespaces, java.util.List<BaseSchemaDocument> documents)Creates the xsd dependency tree. |
java.util.Map<XsdNamespace, java.util.Set<java.lang.String>> |
resolveDependentNamespaces(java.util.List<XsdNamespace> namespaces, java.util.List<BaseSchemaDocument> documents)Resolves dependencies of documents in namespaces that have dependencies. |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Holds and manages the xsd dependency tree.
Creates this factory.
treeManager - holds and manages the xsd dependency treeCreates the xsd dependency tree. Hierarchy from 0 dependencies, to many dependencies. Namespaces with 0 dependencies are put in tree first, followed by namespaces that meet the following criteria:
This allows for a namespace to depend on ancestors, but this keeps the hierarchy intact, as a namespace will always get parsed after all of its dependencies have been resolved prior.
namespaces - the namespaces to move into a tree structuredocuments - the documents of all xsds (searched for immediate dependencies)Resolves dependencies of documents in namespaces that have dependencies. Find all documents that belong to namespaces that have dependencies, then goes through them to find their (immediate) dependencies.
External Dependencies (dependencies on xsds that are not located in the user defined xsdDir) are not included in this resolution. That data need not be present to correctly place the namespace in its dependency tree.
namesapces - namespaces with dependenciesdocuments - schema documents from all xsds being operated onGroovy Documentation