Nuxeo Enterprise Platform 5.4

org.nuxeo.ecm.core.schema
Class SchemaManagerImpl

java.lang.Object
  extended by org.nuxeo.ecm.core.schema.SchemaManagerImpl
All Implemented Interfaces:
SchemaManager, TypeProvider

public class SchemaManagerImpl
extends java.lang.Object
implements SchemaManager

Author:
Bogdan Stefanescu

Constructor Summary
SchemaManagerImpl()
           
 
Method Summary
 void clear()
          Unregisters all types.
 DocumentType getDocumentType(java.lang.String name)
           
 java.util.Set<java.lang.String> getDocumentTypeNamesExtending(java.lang.String docTypeName)
          Implementation details: there is a cache on each server for this Assumes that types never change in the lifespan of this server process and that the Core server has finished loading its types.
 java.util.Set<java.lang.String> getDocumentTypeNamesForFacet(java.lang.String facet)
          Same remarks as in getDocumentTypeNamesExtending(java.lang.String).
 DocumentType[] getDocumentTypes()
           
 int getDocumentTypesCount()
           
 Field getField(java.lang.String prefixedName)
          Gets the field given a prefixed name.
 TypeHelper getHelper(java.lang.String schema, java.lang.String type)
           
 PrefetchInfo getPrefetchInfo()
           
 Schema getSchema(java.lang.String name)
           
 java.io.File getSchemaDirectory()
           
 java.io.File getSchemaFile(java.lang.String name)
           
 Schema getSchemaFromPrefix(java.lang.String schemaPrefix)
           
 Schema getSchemaFromURI(java.lang.String schemaURI)
           
 Schema[] getSchemas()
           
 int getSchemasCount()
           
 Type getType(java.lang.String name)
           
 Type getType(java.lang.String schema, java.lang.String name)
           
 Type[] getTypes()
           
 Type[] getTypes(java.lang.String schema)
          Gets the types defined by the given schema.
 int getTypesCount()
           
 java.lang.String getXmlSchemaDefinition(java.lang.String name)
          Get the schema definition.
 void importTypes(TypeProvider provider)
          Initializes initial types using a remote provider if any was specified.
 void registerDocumentType(DocumentType docType)
           
 void registerDocumentType(DocumentTypeDescriptor dtd)
           
 void registerHelper(java.lang.String schema, java.lang.String type, TypeHelper helper)
           
 void registerSchema(Schema schema)
           
 void registerType(Type type)
           
 java.net.URL resolveSchemaLocation(java.lang.String location)
           
 void setPrefetchInfo(PrefetchInfo prefetchInfo)
           
 void setSchemaDirectory(java.io.File dir)
           
 DocumentType unregisterDocumentType(java.lang.String name)
           
 void unregisterHelper(java.lang.String schema, java.lang.String type)
           
 Schema unregisterSchema(java.lang.String name)
           
 Type unregisterType(java.lang.String name)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SchemaManagerImpl

public SchemaManagerImpl()
                  throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

importTypes

public void importTypes(TypeProvider provider)
Initializes initial types using a remote provider if any was specified.

Should be called when a provider is registered.


getType

public Type getType(java.lang.String schema,
                    java.lang.String name)
Specified by:
getType in interface TypeProvider

registerType

public void registerType(Type type)
Specified by:
registerType in interface SchemaManager

unregisterType

public Type unregisterType(java.lang.String name)
Specified by:
unregisterType in interface SchemaManager

getType

public Type getType(java.lang.String name)
Specified by:
getType in interface TypeProvider

getTypes

public Type[] getTypes()
Specified by:
getTypes in interface TypeProvider

getTypes

public Type[] getTypes(java.lang.String schema)
Description copied from interface: SchemaManager
Gets the types defined by the given schema.

Specified by:
getTypes in interface SchemaManager
Returns:

getTypesCount

public int getTypesCount()
Specified by:
getTypesCount in interface SchemaManager

registerSchema

public void registerSchema(Schema schema)
Specified by:
registerSchema in interface SchemaManager

unregisterSchema

public Schema unregisterSchema(java.lang.String name)
Specified by:
unregisterSchema in interface SchemaManager

getSchema

public Schema getSchema(java.lang.String name)
Specified by:
getSchema in interface TypeProvider

getSchemaFromPrefix

public Schema getSchemaFromPrefix(java.lang.String schemaPrefix)
Specified by:
getSchemaFromPrefix in interface SchemaManager

getSchemaFromURI

public Schema getSchemaFromURI(java.lang.String schemaURI)
Specified by:
getSchemaFromURI in interface SchemaManager

getField

public Field getField(java.lang.String prefixedName)
Description copied from interface: SchemaManager
Gets the field given a prefixed name.

Specified by:
getField in interface SchemaManager
Returns:
the field or null if none

getSchemas

public Schema[] getSchemas()
Specified by:
getSchemas in interface TypeProvider

getSchemasCount

public int getSchemasCount()
Specified by:
getSchemasCount in interface SchemaManager

setPrefetchInfo

public void setPrefetchInfo(PrefetchInfo prefetchInfo)

getPrefetchInfo

public PrefetchInfo getPrefetchInfo()

registerDocumentType

public void registerDocumentType(DocumentType docType)
Specified by:
registerDocumentType in interface SchemaManager

registerDocumentType

public void registerDocumentType(DocumentTypeDescriptor dtd)

unregisterDocumentType

public DocumentType unregisterDocumentType(java.lang.String name)
Specified by:
unregisterDocumentType in interface SchemaManager

getDocumentType

public DocumentType getDocumentType(java.lang.String name)
Specified by:
getDocumentType in interface TypeProvider

getDocumentTypes

public DocumentType[] getDocumentTypes()
Specified by:
getDocumentTypes in interface TypeProvider

getDocumentTypesCount

public int getDocumentTypesCount()
Specified by:
getDocumentTypesCount in interface SchemaManager

clear

public void clear()
Description copied from interface: SchemaManager
Unregisters all types. Useful for testing.

Specified by:
clear in interface SchemaManager

setSchemaDirectory

public void setSchemaDirectory(java.io.File dir)

getSchemaDirectory

public java.io.File getSchemaDirectory()

getSchemaFile

public java.io.File getSchemaFile(java.lang.String name)

resolveSchemaLocation

public java.net.URL resolveSchemaLocation(java.lang.String location)

getDocumentTypeNamesForFacet

public java.util.Set<java.lang.String> getDocumentTypeNamesForFacet(java.lang.String facet)
Same remarks as in getDocumentTypeNamesExtending(java.lang.String). Tested in nuxeo-core

Specified by:
getDocumentTypeNamesForFacet in interface SchemaManager
Returns:
null or the names as a guaranteed non-empty set.

getDocumentTypeNamesExtending

public java.util.Set<java.lang.String> getDocumentTypeNamesExtending(java.lang.String docTypeName)
Implementation details: there is a cache on each server for this Assumes that types never change in the lifespan of this server process and that the Core server has finished loading its types.

This is tested in nuxeo-core and SearchBackendTestCase (hence compass plugin).

Specified by:
getDocumentTypeNamesExtending in interface SchemaManager
Returns:
null or the set of names.

getXmlSchemaDefinition

public java.lang.String getXmlSchemaDefinition(java.lang.String name)
Description copied from interface: SchemaManager
Get the schema definition.

Specified by:
getXmlSchemaDefinition in interface SchemaManager
Returns:

registerHelper

public void registerHelper(java.lang.String schema,
                           java.lang.String type,
                           TypeHelper helper)
Specified by:
registerHelper in interface SchemaManager

unregisterHelper

public void unregisterHelper(java.lang.String schema,
                             java.lang.String type)
Specified by:
unregisterHelper in interface SchemaManager

getHelper

public TypeHelper getHelper(java.lang.String schema,
                            java.lang.String type)
Specified by:
getHelper in interface SchemaManager

Nuxeo Enterprise Platform 5.4

Copyright © 2010 Nuxeo SAS. All Rights Reserved.