Interface Bowl
- All Known Implementing Classes:
BaseBowl,DefaultBowl
Bowls provide access to various "Manager" classes that in turn provide access to specific types of stored objects that may be specificially grouped in the Bowl. As much as possible, Managers should generally not depend on Bowl-specific features *except* common underlying storage mechanisms that are defined as APIs on Bowl itself (this interface). For example, ConnectionManager does not directly depend on Bowl-specific attributes, except for the MetaStore.
Specific subclasses for contexts should implement their custom logic to get a MetaStore or other underlying storage, and the managers should just build on that and not have any other Bowl-specific code.
All implementations of Bowl should implement equals() and hashcode().
If available, most code that needs a Bowl should get Bowls for Management from Spoon, and for execution from TransMeta or JobMeta.-
Method Summary
Modifier and TypeMethodDescriptionvoidClear any cached objects in the Bowl and its ManagersGet a default variable space using this Bowl's context.Get the path of this bowl if applicableReturn the display name of the level.<T> TgetManager(Class<T> managerClazz) Gets a Manager for some type of object specifically in the context of this Bowl.org.pentaho.metastore.api.IMetaStoreGets a Read-Only Metastore that handles any defaulting required for execution-time handling of metastores, for the Bowl.Parent Bowls are any Bowls that a particular Bowl inherits from.Get the SharedObjectsIO instance that is responsible for reading/writing of Shared Objects
-
Method Details
-
getMetastore
org.pentaho.metastore.api.IMetaStore getMetastore() throws org.pentaho.metastore.api.exceptions.MetaStoreExceptionGets a Read-Only Metastore that handles any defaulting required for execution-time handling of metastores, for the Bowl.- Returns:
- IMetaStore A metastore for execution with the Bowl. Never null.
- Throws:
org.pentaho.metastore.api.exceptions.MetaStoreException
-
getManager
Gets a Manager for some type of object specifically in the context of this Bowl.Since constructing and initializing Managers can be expensive, and instances may share state or have other limitations, callers with a Bowl should use this method in favor of directly using the manager type.
- Returns:
- a manager instance, never null.
- Throws:
KettleException- for other errors.- See Also:
-
getParentBowls
Parent Bowls are any Bowls that a particular Bowl inherits from.- Returns:
- Set<Bowl> A set of Parent Bowls. Should not be null.
-
getADefaultVariableSpace
VariableSpace getADefaultVariableSpace()Get a default variable space using this Bowl's context. Everytime you will get a new instance.Implementations may include different sets of Variables depending on what is in context for that Bowl.
- Returns:
- a default variable space.
-
getLevelDisplayName
String getLevelDisplayName()Return the display name of the level. This string should be read from resource file- Returns:
- level name
-
getBowlPath
Get the path of this bowl if applicable- Returns:
- the path if applicable
-
clearCache
void clearCache()Clear any cached objects in the Bowl and its Managers
-