Class OSchemaShared
java.lang.Object
com.orientechnologies.orient.core.metadata.schema.OSchemaShared
- All Implemented Interfaces:
OCloseable
- Direct Known Subclasses:
OSchemaEmbedded,OSchemaRemote
Shared schema class. It's shared by all the database instances that point to the same storage.
- Author:
- Luca Garulli (l.garulli--(at)--orientdb.com)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intprotected OImmutableSchemastatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidintaddBlobCluster(ODatabaseDocumentInternal database, int clusterId) protected voidaddClusterClassMap(OClass cls) protected voidaddClusterViewMap(OView cls) static CharactercheckClassNameIfValid(String iName) abstract voidstatic CharactercheckFieldNameIfValid(String iName) voidclose()Closes resources inside of call of OStorage#close().intcountClasses(ODatabaseDocumentInternal database) intcountViews(ODatabaseDocumentInternal database) voidcreate(ODatabaseDocumentInternal database) createAbstractClass(ODatabaseDocumentInternal database, String className) createAbstractClass(ODatabaseDocumentInternal database, String className, OClass superClass) createAbstractClass(ODatabaseDocumentInternal database, String iClassName, OClass... superClasses) createClass(ODatabaseDocumentInternal database, String className) abstract OClasscreateClass(ODatabaseDocumentInternal database, String className, int[] clusterIds, OClass... superClasses) abstract OClasscreateClass(ODatabaseDocumentInternal database, String className, int clusters, OClass... superClasses) createClass(ODatabaseDocumentInternal database, String iClassName, OClass iSuperClass) createClass(ODatabaseDocumentInternal database, String iClassName, OClass... superClasses) createClass(ODatabaseDocumentInternal database, String className, OClass superClass, int[] clusterIds) abstract booleancreateClassIfNotExists(ODatabaseDocumentInternal session, String className) abstract booleancreateClassIfNotExists(ODatabaseDocumentInternal session, String className, OClass... superclasses) protected abstract OClassImplcreateClassInstance(String name) intcreateClusterIfNeeded(ODatabaseDocumentInternal database, String nameOrId) createGlobalProperty(String name, OType type, Integer id) abstract OViewcreateView(ODatabaseDocumentInternal database, OViewConfig cfg) abstract OViewcreateView(ODatabaseDocumentInternal database, OViewConfig cfg, ViewCreationListener listener) abstract OViewcreateView(ODatabaseDocumentInternal database, String viewName, String statement, Map<String, Object> metadata) protected abstract OViewImplcreateViewInstance(String name) abstract voiddropClass(ODatabaseDocumentInternal database, String className) abstract voiddropView(ODatabaseDocumentInternal database, String viewName) protected booleanbooleanexistsClass(String iClassName) booleanexistsView(String viewName) protected OGlobalPropertyfindOrCreateGlobalProperty(String name, OType type) voidforceSnapshot(ODatabaseDocumentInternal database) voidfromStream(ODocument document) Binds ODocument to POJO.getClassByClusterId(int clusterId) getClasses(ODatabaseDocumentInternal database) getClassesRelyOnCluster(ODatabaseDocumentInternal database, String clusterName) protected intgetClusterId(ODatabaseDocumentInternal database, String stringValue) getGlobalPropertyById(int id) getOrCreateClass(ODatabaseDocumentInternal database, String iClassName) getOrCreateClass(ODatabaseDocumentInternal database, String iClassName, OClass superClass) abstract OClassgetOrCreateClass(ODatabaseDocumentInternal database, String iClassName, OClass... superClasses) intgetViewByClusterId(int clusterId) getViews(ODatabaseDocumentInternal database) getViewsRelyOnCluster(ODatabaseDocumentInternal database, String clusterName) load(ODatabaseDocumentInternal database) makeSnapshot(ODatabaseDocumentInternal database) voidCallback invoked when the schema is loaded, after all the initializations.voidvoidvoidreleaseSchemaWriteLock(ODatabaseDocumentInternal database, boolean iSave) voidreload(ODatabaseDocumentInternal database) Reloads the schema inside a storage's shared lock.voidremoveBlobCluster(ODatabaseDocumentInternal database, String clusterName) voidsendCommand(ODatabaseDocumentInternal database, String command) toStream()Binds POJO to ODocument.
-
Field Details
-
CURRENT_VERSION_NUMBER
public static final int CURRENT_VERSION_NUMBER- See Also:
-
VERSION_NUMBER_V4
public static final int VERSION_NUMBER_V4- See Also:
-
VERSION_NUMBER_V5
public static final int VERSION_NUMBER_V5- See Also:
-
classes
-
clustersToClasses
-
views
-
clustersToViews
-
snapshot
-
-
Constructor Details
-
OSchemaShared
public OSchemaShared()
-
-
Method Details
-
checkClassNameIfValid
- Throws:
OSchemaException
-
checkFieldNameIfValid
-
makeSnapshot
-
forceSnapshot
-
getClusterSelectionFactory
-
countClasses
-
countViews
-
onPostIndexManagement
public void onPostIndexManagement()Callback invoked when the schema is loaded, after all the initializations. -
createClass
-
createClass
public OClass createClass(ODatabaseDocumentInternal database, String iClassName, OClass iSuperClass) -
createClass
public OClass createClass(ODatabaseDocumentInternal database, String iClassName, OClass... superClasses) -
getOrCreateClass
-
getOrCreateClass
public OClass getOrCreateClass(ODatabaseDocumentInternal database, String iClassName, OClass superClass) -
getOrCreateClass
public abstract OClass getOrCreateClass(ODatabaseDocumentInternal database, String iClassName, OClass... superClasses) -
createAbstractClass
-
createAbstractClass
public OClass createAbstractClass(ODatabaseDocumentInternal database, String className, OClass superClass) -
createAbstractClass
public OClass createAbstractClass(ODatabaseDocumentInternal database, String iClassName, OClass... superClasses) -
createClass
public OClass createClass(ODatabaseDocumentInternal database, String className, OClass superClass, int[] clusterIds) -
createClass
public abstract OClass createClass(ODatabaseDocumentInternal database, String className, int[] clusterIds, OClass... superClasses) -
createClass
public abstract OClass createClass(ODatabaseDocumentInternal database, String className, int clusters, OClass... superClasses) -
createView
-
createClassIfNotExists
-
createClassIfNotExists
public abstract boolean createClassIfNotExists(ODatabaseDocumentInternal session, String className, OClass... superclasses) -
createView
-
createView
public abstract OView createView(ODatabaseDocumentInternal database, OViewConfig cfg, ViewCreationListener listener) throws UnsupportedOperationException - Throws:
UnsupportedOperationException
-
checkEmbedded
public abstract void checkEmbedded() -
getClassByClusterId
-
getViewByClusterId
-
dropClass
-
dropView
-
reload
Reloads the schema inside a storage's shared lock. -
existsClass
-
existsView
-
getClass
-
getClass
-
getView
-
acquireSchemaReadLock
public void acquireSchemaReadLock() -
releaseSchemaReadLock
public void releaseSchemaReadLock() -
acquireSchemaWriteLock
-
releaseSchemaWriteLock
-
releaseSchemaWriteLock
-
fromStream
Binds ODocument to POJO. -
createClassInstance
-
createViewInstance
-
toNetworkStream
-
toStream
Binds POJO to ODocument. -
getClasses
-
getViews
-
getClassesRelyOnCluster
-
getViewsRelyOnCluster
-
load
-
create
-
close
public void close()Description copied from interface:OCloseableCloses resources inside of call of OStorage#close(). So do not use locks when you call this method or you may have deadlock during storage close. This method is completely house keeping method and plays role of Object#finalize() in case of you need to clean up resources after storage is closed.- Specified by:
closein interfaceOCloseable
-
getVersion
public int getVersion() -
getIdentity
-
getGlobalPropertyById
-
createGlobalProperty
-
getGlobalProperties
-
findOrCreateGlobalProperty
-
executeThroughDistributedStorage
-
addClusterClassMap
-
addClusterViewMap
-
addBlobCluster
-
removeBlobCluster
-
getClusterId
-
createClusterIfNeeded
-
getBlobClusters
-
sendCommand
-