Package net.sf.basedb.util.overview
Interface OverviewContext
- All Known Implementing Classes:
GenericOverview
public interface OverviewContext
Interface that should be implemented by overview generating
classes. This interface defines service methods that overview
generating class to
NodeLoader
:s and NodeValidator
:s
so that they can do their job.- Version:
- 2.10
- Author:
- Nicklas
- Last modified
- $Date: 2015-04-20 11:08:18 +0200 (må, 20 apr 2015) $
-
Method Summary
Modifier and TypeMethodDescriptioncreateFailure
(Validator validator, Node node, String message, Fix... fixes) Register the failure of a validation rule.getCachedObject
(Object cacheKey) Retreive an object stored in the overview cache.Get the current node cache.Get the node loader factory that is used to create node loaders.Get the node validator factory that is used to create node validators.Get the project the overview is using as the "current" project.Get the snapshot manager that is used to load annotation values.Get the validation options that are currently in effect.Same asinitQuery(ItemQuery, Order...)
but easier to use when sorting the items in ascending order by a single column.Initialise a query with "global options" and optionally a sort order.void
setCachedObject
(Object cacheKey, Object value) Store an auxilliary object in the overview cache.
-
Method Details
-
getNodeLoaderFactory
NodeLoaderFactory getNodeLoaderFactory()Get the node loader factory that is used to create node loaders.- Returns:
- A node loader factory
-
getNodeValidatorFactory
NodeValidatorFactory getNodeValidatorFactory()Get the node validator factory that is used to create node validators.- Returns:
- A node loader factory
-
getSnapshotManager
SnapshotManager getSnapshotManager()Get the snapshot manager that is used to load annotation values. This method may re-use an existing snapshot manager as long as a transaction is active. Once the transaction has been committed (or rollbacked) the snapshot manager should no longer be used since it may hold inconsistent data. Note that it is always safe to create a new snapshot manager.- Since:
- 2.14
-
getProject
Project getProject()Get the project the overview is using as the "current" project. This is mostly needed by validators to check if items are using the project default protocols, software, etc.- Returns:
- A project, or null
-
getValidationOptions
ValidationOptions getValidationOptions()Get the validation options that are currently in effect.- Since:
- 2.13
-
setCachedObject
Store an auxilliary object in the overview cache. This is a service provided by the overview implementation that can be used by node loaders and/or validators to store information that may be needed again in the future and is expensive to retreive (eg. from the database). This is for example used to store annotation types that have been marked as "Required by MIAME", parents to annotatable items and more.Note! The overview impementation is not forced to implement a cache, or it may optionally decide to disable the cache. Node loaders and validators should not depend on the cache for correct functionality.
- Parameters:
cacheKey
- The key to store the value undervalue
- The value to store in the cache, or null to remove the entry- See Also:
-
getCachedObject
Retreive an object stored in the overview cache.- Parameters:
cacheKey
- The key to use for cache lookup- Returns:
- The object, or null if no object has been cached with the given key
- See Also:
-
createFailure
Register the failure of a validation rule.Note! The overview implementation is not forced to register the failure, or it may optioanlly only register certain types of failures.
- Parameters:
validator
- The validation rule that failsnode
- The node that was validatedmessage
- An optional message, if null the message fromValidator.getFailureSummary()
is usedfixes
- Optional fixes that may be used to correct the problem
-
initQuery
Same asinitQuery(ItemQuery, Order...)
but easier to use when sorting the items in ascending order by a single column.- Parameters:
query
- The query that should be initialisedsortby
- The property name to sort by (may be null)- Returns:
- The same query object
-
initQuery
Initialise a query with "global options" and optionally a sort order.Note! The "global options" can differ between overview implementation, but typically include settings some restrictions base on
Include
options, or permissions on the query.- Parameters:
query
- The query that should be initialisedsortby
- An array with Order objects (may be null)- Returns:
- The same query object
- See Also:
-
getNodeCache
Get the current node cache. Node loaders may use the cache to store nodes for already seen items. Then, when the same item is seen again the existing node (including all children) is simply cloned. This can make the performance a lot better.- Returns:
- A node cache, or null if the current overview doesn't want to use a cache
-