public interface WGDatabaseCore
| Modifier and Type | Method and Description |
|---|---|
boolean |
beginTransaction()
Called when a transaction should begin.
|
void |
beginUpdate()
Notifies the backend database that the session will update data from now on.
|
java.lang.Object |
callBackendService(java.lang.String serviceName,
java.lang.Object[] params)
Calls a backend service whose support is optional.
|
void |
clearSessionCache()
Is called when the cache of the current WGAPI session is cleared.
|
void |
close()
Called when a database implementation is completely closed and all cached data of it is dropped.
|
void |
closeSession()
Called when a database session is closed, i.e. the current thread/user stops working with this database for the logged in user.
|
boolean |
commitTransaction()
Called when a running transaction should get submitted
Needed when database supports feature WGDatabase.FEATURE_TRANSACTIONS.
|
java.lang.String |
convertFileNameForAttaching(java.lang.String name)
Returns a file name like it would be converted when a file of this name got attached to a document.
|
WGDocumentCore |
createContent(WGStructEntry structEntry,
WGLanguage language,
java.lang.String title,
int version)
Called to create a content document.
|
WGDocumentCore |
createCopy(WGDocumentCore original)
Create a copy of the given doc core.
|
WGDocumentCore |
createDesignDocument(int type,
java.lang.String name,
java.lang.String mediaKey)
Create a design document of the given type and keys.
|
WGDocumentCore |
createStructEntry(java.lang.Object key,
WGDocument reference,
WGContentType contentType)
Creates a struct entry.
|
WGDocumentCore |
fastAccess(int type,
java.lang.Object key)
Called for fast re-retrieval of a document core, if that core on first instantiation specified a fast access key.
|
WGACLCore |
getACL()
Retrieves the ACL if implementation supports WGDatabase.FEATURE_ACL_MANAGEABLE
|
java.util.List<WGDocumentCore> |
getAllContent(WGStructEntry structEntry,
boolean includeArchived)
Retrieves a list of all content unter the specified struct entry.
|
java.util.List |
getAllContentKeys(boolean includeArchived)
Retrieves all content keys of all contents in this database as list.
|
java.util.Iterator<WGDocumentCore> |
getChildEntries(WGStructEntry structEntry,
WGPageOrderSet order)
Retrieves all child struct entries for the provided struct entry.
|
WGDocumentCore |
getContentByKey(WGContentKey key)
Retrieves the content for the provided content key.
|
WGDocumentCore |
getContentByName(java.lang.String strName,
java.lang.String strLanguage)
Retrieves a content by it's unique name for the given language.
|
int |
getContentCount(WGStructEntry entry)
Returns the number of total contents on this struct entry, including those that are not visible to the user.
|
int |
getContentStorePatchLevel()
Returns the patch level of the storage format of this WGA Content Store.
|
double |
getContentStoreVersion()
Returns the version of WGA Content Store that this backend represents.
|
java.lang.Class |
getDedicatedWorkflowEngine()
Retrieves the class of a dedicated workflow engine for this implementation.
|
WGDocumentCore |
getDesignObject(int type,
java.lang.String name,
java.lang.String strMediaKey)
Retrieves a design object by it's doc class and unique name.
|
java.util.List |
getDesignObjects(int type)
Retrieves all design objects of the given doc class.
|
WGDocumentCore |
getDummyContent(java.lang.String language)
Creates a "dummy content" object, that is used, when rendering WebTML without a content context.
|
java.lang.Object |
getExtensionData(java.lang.String name)
Retrieves the value of an extension data field stored in this database.
|
java.util.List<java.lang.String> |
getExtensionDataNames()
Retrieves names of all extension data fields stored in this database.
|
java.util.List<WGRelationData> |
getIncomingRelations(java.lang.Object structKey,
java.lang.String language,
java.lang.String sourceContentClass,
java.lang.String relName,
java.lang.String relGroupName,
java.lang.Boolean includeUnreleased,
WGColumnSet order)
Must Return the relations that point to the given released content document
|
java.lang.Object |
getNativeObject()
Retrieves the native backend object for this database if there is any.
|
WGDocumentCore |
getParentEntry(WGStructEntry entry)
Retrieves the parent struct enty for the given entry.
|
java.lang.Comparable |
getRevision()
Returns an revision indicator of the last change done to this database
This may be a anything that indicates the revision of the current database, like some java.util.Date or a sequence number.
|
java.util.Date |
getRevisionDate(java.lang.Comparable lastChanged)
Returns a date object corresponding to the given revision indicator
Use this method to get concrete dates for the revisions returned by
getRevision(). |
java.util.List |
getRoles()
Returns the roles that this database complies.
|
java.util.Iterator<WGDocumentCore> |
getRootEntries(WGArea area,
WGPageOrderSet pageOrder)
Retrieves the root entries (i.e. entries without parents) of the given area.
|
java.lang.String |
getServerName()
Returns the name of the server for the backend database (if there is one)
|
WGDocumentCore |
getStructEntryByKey(java.lang.Object key)
Retrieves a struct entry for the given struct key
|
WGDocumentCore |
getStructEntryByName(java.lang.String strName)
Returns a struct entry by it's unique name
|
java.lang.String |
getTitle()
Retrieves a descriptive database title.
|
java.lang.String |
getTypeName()
Returns a description of this core implementation type.
|
java.util.List<WGUpdateLog> |
getUpdateLogs(java.lang.Comparable cutoff)
Retrieves list of update logs - i.e. the operations done on documents - since a cutoff revision in ascending order of operation times.
|
boolean |
hasFeature(java.lang.String feature)
Returns information on specific features, that this database implements.
|
boolean |
isBackendServiceSupported(java.lang.String serviceName)
Returns if a backend service is supported
|
boolean |
isContentTypeUsed(WGContentType ct)
Tests if the given content type is still in usage, i.e. if there are struct entries referencing it
|
boolean |
isLanguageUsed(WGLanguage lang)
Tests if the given language is still in usage, i.e. if there are contents referencing it
|
boolean |
isMemberOfUserList(java.util.List userList)
Determines if the currently logged in user is a member of the given user/group/role list.
|
boolean |
moveStructEntry(WGStructEntry entry,
WGDocument newParent)
Moves a struct entry to a new parent document, either another struct entry of an area.
|
WGUserAccess |
open(WGDatabase db,
java.lang.String path,
java.lang.String user,
java.lang.String pwd,
boolean prepareOnly)
Opens a database initially.
|
WGUserAccess |
openSession(AuthenticationSession authSession,
java.lang.Object credentials,
boolean master)
Opens a session for the given user/thread.
|
java.lang.Object |
parseStructKey(java.lang.String key)
Parses the string representation of a struct key (as used in URLs) to the implementation specific format.
|
WGResultSetCore |
query(java.lang.String type,
java.lang.String query,
java.util.Map parameters)
Queries the database for content.
|
void |
refresh()
Is called when a database refresh is performed
The core should perform necessary cleanups of cached data and held resources
If the database supports WGAPI transactions it should reduce the impact of this method to the current session while in a transaction
|
void |
removeExtensionData(java.lang.String name)
Removes an extension data field from this database
|
boolean |
resultIsFalse(java.lang.Object result,
WGDocument doc)
Tests, if an native expression result equals false in the native expression language.
|
boolean |
resultIsTrue(java.lang.Object result,
WGDocument doc)
Tests, if an native expression result equals true in the native expression language.
|
boolean |
rollbackTransaction()
Called when a started transaction should be rolled back.
|
void |
setCurrentSession(WGSessionContext context)
Method to inject the current session context to the core.
|
void |
writeExtensionData(java.lang.String name,
java.lang.Object value)
Writes an extension data field to in this database.
|
WGUserAccess open(WGDatabase db, java.lang.String path, java.lang.String user, java.lang.String pwd, boolean prepareOnly) throws WGAPIException
db - The WGDatabase object, that will wrap this database core.path - The path of the database, that should be opened. Interpretation of the path is up to the specific database coreuser - The user name for opening the initial session.pwd - The password for the given usernameprepareOnly - Flag if the database should only be prepared for openingWGAPIExceptionWGUserAccess openSession(AuthenticationSession authSession, java.lang.Object credentials, boolean master) throws WGAPIException
authSession - The authentication session of the current user. If there is no authentication module configured this is of type BackendAuthSessioncredentials - The credentials that the user gave for authenticatingmaster - States, that the used login is the master loginWGAPIExceptionvoid close()
throws WGAPIException
WGAPIExceptionvoid closeSession()
throws WGAPIException
WGAPIExceptionjava.lang.String getTitle()
throws WGBackendException
WGBackendExceptionjava.lang.String getTypeName()
java.lang.Comparable getRevision()
throws WGAPIException
WGAPIExceptionjava.util.Date getRevisionDate(java.lang.Comparable lastChanged)
throws WGAPIException,
WGWrongRevisionException
getRevision().
This method is obliged to throw a WGWrongRevisionException if the revision type does not match this database
of the given revision is not known.lastChanged - A revision indicator returned by getRevision()WGAPIExceptionWGWrongRevisionException - if the given revision is no revision of the current databasejava.lang.Object getExtensionData(java.lang.String name)
throws WGAPIException
name - The name of the field.WGAPIExceptionjava.util.List<java.lang.String> getExtensionDataNames()
throws WGAPIException
WGAPIExceptionvoid writeExtensionData(java.lang.String name,
java.lang.Object value)
throws WGAPIException
name - The name of the field.value - The value to storeWGAPIExceptionvoid removeExtensionData(java.lang.String name)
throws WGAPIException
name - The name of the field to removeWGAPIExceptionjava.util.List getRoles()
boolean hasFeature(java.lang.String feature)
feature - The requested feature. The constants WGDatabase.FEATURE_... are used here.java.util.Iterator<WGDocumentCore> getChildEntries(WGStructEntry structEntry, WGPageOrderSet order) throws WGAPIException
structEntry - The struct entry, whose children are to be retrievedorder - Instructions about the desired orderWGAPIExceptionjava.util.Iterator<WGDocumentCore> getRootEntries(WGArea area, WGPageOrderSet pageOrder) throws WGAPIException
area - The area, whose root entries are to be retrievedpageOrder - Order set denoting the order in which entries should be served, null for default order (position, title, both ascending)WGAPIExceptionWGDocumentCore getStructEntryByKey(java.lang.Object key) throws WGAPIException
key - WGAPIExceptionWGDocumentCore getParentEntry(WGStructEntry entry) throws WGAPIException
entry - The struct entry, whose parent is to be retrievedWGAPIExceptionjava.util.List<WGDocumentCore> getAllContent(WGStructEntry structEntry, boolean includeArchived) throws WGAPIException
structEntry - The struct entry, whose content is to be retrieved.includeArchived - Decides, if archived documents should be also retrievedWGAPIExceptionWGDocumentCore getContentByKey(WGContentKey key) throws WGAPIException
key - The content keyWGAPIExceptionWGDocumentCore getContentByName(java.lang.String strName, java.lang.String strLanguage) throws WGAPIException
strName - The unique namestrLanguage - The language name (i.e. short code). If null, the default language of the content store is to be used.WGAPIExceptionWGDocumentCore getStructEntryByName(java.lang.String strName) throws WGAPIException
strName - The unique nameWGAPIExceptionWGDocumentCore getDummyContent(java.lang.String language) throws WGAPIException
WGAPIExceptionWGResultSetCore query(java.lang.String type, java.lang.String query, java.util.Map parameters) throws WGAPIException
type - Type of query. Interpretation is up to the specific core implementation.query - The queryparameters - Query options as Map influencing the query result. See WGDatabase.QUERYOPTION_... for options keys.WGAPIExceptionWGDocumentCore fastAccess(int type, java.lang.Object key) throws WGAPIException
key - The fast access key, that the document core provided, when it was instantiated the first time.WGAPIExceptionjava.lang.Object parseStructKey(java.lang.String key)
throws WGAPIException
key - The string representation of the struct keyWGAPIExceptionWGDocumentCore createDesignDocument(int type, java.lang.String name, java.lang.String mediaKey) throws WGAPIException
type - Design document type. Use constants WGDocument.TYPE_...name - Unique name of design object. Use only A-Z,a-z,0-9 and _mediaKey - Media key, if the document type is a TML moduleWGAPIExceptionWGDocumentCore createStructEntry(java.lang.Object key, WGDocument reference, WGContentType contentType) throws WGAPIException
key - Key of the struct entry if the implementation supports using explicit keys. Leave null otherwise.reference - Reference document, which can be an WGArea (struct will be root in this area) or another WGStructEntry (struct will be child of that)contentType - Content type for this struct entryWGAPIExceptionWGDocumentCore createContent(WGStructEntry structEntry, WGLanguage language, java.lang.String title, int version) throws WGAPIException
structEntry - The structentry for the contentlanguage - The language of the contenttitle - The title of the contentversion - The version of the content if this should explicitly be set (only in clone creation!). Leave null for normal creation.WGAPIExceptionjava.lang.Class getDedicatedWorkflowEngine()
boolean isMemberOfUserList(java.util.List userList)
throws WGAPIException
userList - WGAPIExceptionWGDocumentCore createCopy(WGDocumentCore original) throws WGAPIException
original - WGAPIExceptionboolean beginTransaction()
throws WGAPIException
WGAPIExceptionboolean rollbackTransaction()
throws WGAPIException
WGAPIExceptionboolean commitTransaction()
throws WGAPIException
WGAPIExceptionjava.lang.String getServerName()
throws WGAPIException
WGAPIExceptiondouble getContentStoreVersion()
throws WGAPIException
WGAPIExceptionint getContentStorePatchLevel()
throws WGAPIException
WGAPIExceptionWGACLCore getACL()
java.lang.Object getNativeObject()
throws WGAPIException
WGBackendExceptionWGAPIExceptionboolean resultIsTrue(java.lang.Object result,
WGDocument doc)
result - The expression result, retrieved by a call to evaluateExpressiondoc - The document, against which the expression was evaluatedboolean resultIsFalse(java.lang.Object result,
WGDocument doc)
result - The expression result, retrieved by a call to evaluateExpressiondoc - The document, against which the expression was evaluatedvoid refresh()
throws WGAPIException
WGAPIExceptionvoid clearSessionCache()
throws WGAPIException
WGClosedSessionException - If currently no session is openWGAPIExceptionboolean moveStructEntry(WGStructEntry entry, WGDocument newParent) throws WGAPIException
entry - The entry to movenewParent - The new parent document, which can be either an WGStructEntry or a WGArea objectWGAPIExceptionint getContentCount(WGStructEntry entry) throws WGAPIException
entry - The entry to testWGNotSupportedException - If the database implementation does not support this operationWGBackendException - On all other backend related errorsWGAPIExceptionvoid setCurrentSession(WGSessionContext context)
context - java.util.List getDesignObjects(int type)
throws WGAPIException
type - The doc class. See constants WGDocument.FDC_...WGAPIExceptionWGDocumentCore getDesignObject(int type, java.lang.String name, java.lang.String strMediaKey) throws WGAPIException
type - The doc class of the design object. See Constants under WGDocument.FDC_...name - The unique name of the designstrMediaKey - For media key specific design objects (e.g. WebTML-Modules), the media key of the design object to be retrievedWGAPIExceptionjava.lang.String convertFileNameForAttaching(java.lang.String name)
name - java.util.List getAllContentKeys(boolean includeArchived)
throws WGAPIException
includeArchived - Specifies if archived content should be included in the listWGContentKeyWGAPIExceptionvoid beginUpdate()
throws WGAPIException
WGAPIExceptionjava.util.List<WGUpdateLog> getUpdateLogs(java.lang.Comparable cutoff) throws WGAPIException
cutoff - WGUpdateLogWGAPIExceptionjava.util.List<WGRelationData> getIncomingRelations(java.lang.Object structKey, java.lang.String language, java.lang.String sourceContentClass, java.lang.String relName, java.lang.String relGroupName, java.lang.Boolean includeUnreleased, WGColumnSet order) throws WGAPIException
structKey - The structkey of the contentlanguage - The language of the contentsourceContentClass - content class of the content owning the relation. null for contents of all content classesrelName - Name of the relation coming in. null should retrieve relations of all namesrelGroupName - Group name of the relation coming in. null should retrieve relations of all groupsincludeUnreleased - Specify true to also retrieve documents in draft or approval state. False will retrieve only published documents.order - Optionally order in which to return relations, evaluated against the relation source documents, null for no orderWGAPIExceptionboolean isContentTypeUsed(WGContentType ct) throws WGAPIException
ct - The content type to testWGAPIExceptionboolean isLanguageUsed(WGLanguage lang) throws WGAPIException
lang - The language to testWGAPIExceptionboolean isBackendServiceSupported(java.lang.String serviceName)
serviceName - Name of the servicejava.lang.Object callBackendService(java.lang.String serviceName,
java.lang.Object[] params)
throws WGAPIException
serviceName - The service name. Use WGDatabase.BACKENDSERVICE_*params - The matching parameters for the called serviceWGAPIException