public class SchemaManagerImpl extends Object implements SchemaManager
Holds basic types (String, Integer, etc.), schemas, document types and facets.
| Modifier and Type | Field and Description |
|---|---|
protected List<TypeConfiguration> |
allConfigurations
All the registered configurations (prefetch).
|
protected List<DocumentTypeDescriptor> |
allDocumentTypes
All the registered document types.
|
protected List<FacetDescriptor> |
allFacets
All the registered facets.
|
protected List<ProxiesDescriptor> |
allProxies
All the registered proxy descriptors.
|
protected List<SchemaBindingDescriptor> |
allSchemas
All the registered schemas.
|
protected Map<String,Map<String,String>> |
deprecatedProperties |
protected boolean |
dirty
Whether there have been changes to the registered schemas, facets or document types that require recomputation of
the effective ones.
|
protected Map<String,DocumentTypeImpl> |
documentTypes
Effective document types.
|
protected Map<String,Set<String>> |
documentTypesExtending |
protected Map<String,Set<String>> |
documentTypesForFacet |
protected Map<String,CompositeType> |
facets
Effective facets.
|
protected Set<String> |
noPerDocumentQueryFacets |
protected PrefetchInfo |
prefetchInfo
Effective prefetch info.
|
protected Map<String,Schema> |
prefixToSchema |
protected Set<String> |
proxySchemaNames
Effective proxy schema names.
|
protected List<Schema> |
proxySchemas
Effective proxy schemas.
|
protected List<Runnable> |
recomputeCallbacks |
protected Map<String,Map<String,String>> |
removedProperties |
protected Map<String,Schema> |
schemas
Effective schemas.
|
static String |
SCHEMAS_DIR_NAME |
protected Map<String,Type> |
types
Basic type registry.
|
protected Map<String,Schema> |
uriToSchema |
| Constructor and Description |
|---|
SchemaManagerImpl() |
protected volatile boolean dirty
protected List<TypeConfiguration> allConfigurations
protected List<SchemaBindingDescriptor> allSchemas
protected List<FacetDescriptor> allFacets
protected List<DocumentTypeDescriptor> allDocumentTypes
protected List<ProxiesDescriptor> allProxies
protected PrefetchInfo prefetchInfo
protected final Map<String,Schema> uriToSchema
protected final Map<String,Schema> prefixToSchema
protected Map<String,CompositeType> facets
protected Set<String> noPerDocumentQueryFacets
protected Map<String,DocumentTypeImpl> documentTypes
protected Map<String,Set<String>> documentTypesExtending
protected Map<String,Set<String>> documentTypesForFacet
protected List<Schema> proxySchemas
protected Set<String> proxySchemaNames
public static final String SCHEMAS_DIR_NAME
protected List<Runnable> recomputeCallbacks
public SchemaManagerImpl()
protected void clearSchemaDir()
public File getSchemasDir()
protected void registerBuiltinTypes()
protected void registerType(Type type)
protected Collection<Type> getTypes()
public void registerConfiguration(TypeConfiguration config)
public void unregisterConfiguration(TypeConfiguration config)
public void registerSchema(SchemaBindingDescriptor sd)
public void unregisterSchema(SchemaBindingDescriptor sd)
public void registerFacet(FacetDescriptor fd)
public void unregisterFacet(FacetDescriptor fd)
public void registerDocumentType(DocumentTypeDescriptor dtd)
public void unregisterDocumentType(DocumentTypeDescriptor dtd)
public DocumentTypeDescriptor getDocumentTypeDescriptor(String name)
public FacetDescriptor getFacetDescriptor(String name)
public void recomputeDynamicFacets()
public void registerProxies(ProxiesDescriptor pd)
public void unregisterProxies(ProxiesDescriptor pd)
protected void checkDirty()
protected void recompute()
protected void recomputeConfiguration()
protected void recomputeSchemas()
protected void copySchema(SchemaBindingDescriptor sd) throws IOException
IOExceptionprotected void loadSchema(SchemaBindingDescriptor sd) throws IOException, SAXException, TypeException
IOExceptionSAXExceptionTypeExceptionprotected void registerSchema(Schema schema)
public Schema[] getSchemas()
TypeProvidergetSchemas in interface TypeProviderpublic Schema getSchema(String name)
TypeProvidergetSchema in interface TypeProviderpublic Schema getSchemaFromPrefix(String schemaPrefix)
getSchemaFromPrefix in interface SchemaManagerpublic Schema getSchemaFromURI(String schemaURI)
getSchemaFromURI in interface SchemaManagerprotected void recomputeFacets()
protected void recomputeFacet(FacetDescriptor fd)
protected CompositeType registerFacet(String name, Set<String> schemaNames)
public CompositeType[] getFacets()
TypeProvidergetFacets in interface TypeProviderpublic CompositeType getFacet(String name)
TypeProvidergetFacet in interface TypeProviderpublic Set<String> getNoPerDocumentQueryFacets()
TypeProvidergetNoPerDocumentQueryFacets in interface TypeProviderprotected void recomputeDocumentTypes()
protected DocumentTypeDescriptor mergeDocumentTypeDescriptors(DocumentTypeDescriptor src, DocumentTypeDescriptor dst)
protected DocumentType recomputeDocumentType(String name, Set<String> stack, Map<String,DocumentTypeDescriptor> dtds)
protected DocumentType recomputeDocumentType(String name, DocumentTypeDescriptor dtd, DocumentType parent)
protected void registerDocumentType(DocumentTypeImpl docType)
public DocumentType getDocumentType(String name)
TypeProvidergetDocumentType in interface TypeProviderpublic Set<String> getDocumentTypeNamesForFacet(String facet)
SchemaManagergetDocumentTypeNamesForFacet in interface SchemaManagerpublic Set<String> getDocumentTypeNamesExtending(String docTypeName)
SchemaManagergetDocumentTypeNamesExtending in interface SchemaManagerpublic DocumentType[] getDocumentTypes()
TypeProvidergetDocumentTypes in interface TypeProviderpublic int getDocumentTypesCount()
getDocumentTypesCount in interface SchemaManagerpublic boolean hasSuperType(String docType, String superType)
SchemaManagerdocType is or extends superType, false otherwise.hasSuperType in interface SchemaManagerpublic Set<String> getAllowedSubTypes(String typeName)
SchemaManagertype type.getAllowedSubTypes in interface SchemaManagerprotected void recomputeProxies()
public List<Schema> getProxySchemas(String docType)
TypeProvidergetProxySchemas in interface TypeProviderpublic boolean isProxySchema(String schema, String docType)
TypeProviderisProxySchema in interface TypeProviderpublic Field getField(String xpath)
SchemaManagergetField in interface SchemaManagerpublic Field getField(Field parent, String subFieldName)
SchemaManagergetField in interface SchemaManagerprotected Field resolveSubField(ListType listType, String subName, boolean fallbackOnSubElement)
public void flushPendingsRegistration()
public void registerRecomputeCallback(Runnable callback)
public void unregisterRecomputeCallback(Runnable callback)
protected void executeRecomputeCallbacks()
public void registerPropertyDeprecation(PropertyDeprecationDescriptor descriptor)
public void unregisterPropertyDeprecation(PropertyDeprecationDescriptor descriptor)
public PropertyDeprecationHandler getDeprecatedProperties()
getDeprecatedProperties in interface SchemaManagerpublic PropertyDeprecationHandler getRemovedProperties()
getRemovedProperties in interface SchemaManagerCopyright © 2017 Nuxeo. All rights reserved.