Package org.pentaho.di.shared
Class DelegatingSharedObjectsIO
java.lang.Object
org.pentaho.di.shared.DelegatingSharedObjectsIO
- All Implemented Interfaces:
SharedObjectsIO
A Read-only wrapper around multiple other SharedObjectsIO implementations that combines them by precedence order.
Concurrency Note: Locks will be taken on all the delegated SharedObjectsIO instances in the order they were provided. This requires that stores are always provided in the same order to avoid deadlocks.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.pentaho.di.shared.SharedObjectsIO
SharedObjectsIO.SharedObjectType -
Constructor Summary
ConstructorsConstructorDescriptionDelegatingSharedObjectsIO(SharedObjectsIO... stores) Construct a new instance with a prioritized list of SharedObjectsIO instances. -
Method Summary
Modifier and TypeMethodDescriptionvoidRemove all the connections of a given type.voidClear any cached objects in the SharedObjectsIOvoidDelete the SharedObject for the given type and name.getSharedObject(String type, String name) Return the Shared Object Node for the given type and name.getSharedObjects(String type) Get the collection of SharedObjects of the given typevoidlock()Lock the SharedObjectsIO for exclusive access.voidsaveSharedObject(String type, String name, Node node) Save the SharedObject node for the type and name.voidunlock()Unlock the SharedObjectsIO after exclusive access is no longer needed.
-
Constructor Details
-
Method Details
-
delete
Description copied from interface:SharedObjectsIODelete the SharedObject for the given type and name. The delete operation will be case-insensitive.- Specified by:
deletein interfaceSharedObjectsIO- Parameters:
type- The type is shared object type for example, "connection", "slaveserver", "partitionschema" and clusterschema"name- The name is the name of the sharedObject- Throws:
KettleException
-
clear
Description copied from interface:SharedObjectsIORemove all the connections of a given type.- Specified by:
clearin interfaceSharedObjectsIO- Parameters:
type- Type to clear- Throws:
KettleException
-
clearCache
public void clearCache()Description copied from interface:SharedObjectsIOClear any cached objects in the SharedObjectsIO- Specified by:
clearCachein interfaceSharedObjectsIO
-
lock
public void lock()Description copied from interface:SharedObjectsIOLock the SharedObjectsIO for exclusive access. This lock should be held while interacting with any Node objects returned by this SharedObjectsIO.- Specified by:
lockin interfaceSharedObjectsIO
-
unlock
public void unlock()Description copied from interface:SharedObjectsIOUnlock the SharedObjectsIO after exclusive access is no longer needed.- Specified by:
unlockin interfaceSharedObjectsIO