|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.alfresco.repo.domain.node.AbstractNodeDAOImpl
public abstract class AbstractNodeDAOImpl
Abstract implementation for Node DAO.
This provides basic services such as caching, but defers to the underlying implementation for CRUD operations.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.alfresco.repo.domain.node.NodeDAO |
---|
NodeDAO.ChildAssocRefQueryCallback, NodeDAO.NodeRefQueryCallback |
Field Summary | |
---|---|
protected boolean |
isDebugEnabled
|
protected org.apache.commons.logging.Log |
logger
|
static java.lang.Long |
LONG_ZERO
|
Constructor Summary | |
---|---|
AbstractNodeDAOImpl()
Constructor. |
Method Summary | |
---|---|
boolean |
addNodeAspects(java.lang.Long nodeId,
java.util.Set aspectQNames)
|
boolean |
addNodeProperties(java.lang.Long nodeId,
java.util.Map properties)
|
boolean |
addNodeProperty(java.lang.Long nodeId,
org.alfresco.service.namespace.QName qname,
java.io.Serializable value)
|
void |
cacheNodes(java.util.List nodeRefs)
Pre-cache data relevant to the given nodes. |
void |
cacheNodesById(java.util.List nodeIds)
Pre-cache data relevant to the given nodes. |
void |
clear()
FOR TESTING ONLY: Clears out node cache data |
void |
cycleCheck(org.alfresco.util.Pair nodePair)
Potentially cheaper than evaluating all of a node's paths to check for child association cycles |
void |
deleteChildAssoc(java.lang.Long assocId)
|
protected abstract int |
deleteChildAssocById(java.lang.Long assocId)
|
protected abstract int |
deleteChildAssocsToAndFrom(java.lang.Long nodeId)
|
void |
deleteNode(java.lang.Long nodeId)
Deletes the node and all entities. |
protected abstract int |
deleteNodeAspects(java.lang.Long nodeId,
java.util.Set qnameIds)
|
protected abstract int |
deleteNodeAssoc(java.lang.Long sourceNodeId,
java.lang.Long targetNodeId,
java.lang.Long assocTypeQNameId)
|
protected abstract int |
deleteNodeAssocs(java.util.List ids)
|
protected abstract int |
deleteNodeAssocsToAndFrom(java.lang.Long nodeId)
|
protected abstract int |
deleteNodeAssocsToAndFrom(java.lang.Long nodeId,
java.util.Set assocTypeQNameIds)
|
protected abstract int |
deleteNodeById(java.lang.Long nodeId,
boolean deletedOnly)
|
protected abstract int |
deleteNodeProperties(java.lang.Long nodeId,
java.util.List propKeys)
|
protected abstract int |
deleteNodeProperties(java.lang.Long nodeId,
java.util.Set qnameIds)
|
protected abstract int |
deleteNodesByCommitTime(boolean deletedOnly,
long maxTxnCommitTimeMs)
|
protected abstract void |
deleteSubscriptions(java.lang.Long nodeId)
|
protected abstract int |
deleteTransaction(java.lang.Long txnId)
|
boolean |
exists(java.lang.Long nodeId)
|
boolean |
exists(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Find out if a node exists. |
boolean |
exists(org.alfresco.service.cmr.repository.StoreRef storeRef)
Find out if a store exists or not |
java.util.Set |
getAllRootNodes(org.alfresco.service.cmr.repository.StoreRef storeRef)
|
org.alfresco.util.Pair |
getChildAssoc(java.lang.Long assocId)
Get a specific association |
org.alfresco.util.Pair |
getChildAssoc(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName)
Get a specific child association given all the determining data. |
org.alfresco.util.Pair |
getChildAssoc(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
java.lang.String childName)
Get a child association for given parent node, association type and child node name (cm:name). |
void |
getChildAssocs(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
java.lang.Boolean isPrimary,
java.lang.Boolean sameStore,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Get the child associations of a given parent node, optionally filtering on association QName and association type QName. |
void |
getChildAssocs(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
java.util.Collection childNames,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Get the child associations of a given parent node, filtering on type QName and the cm:name of the child nodes. |
void |
getChildAssocs(java.lang.Long parentNodeId,
java.util.Set assocTypeQNames,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Get the child associations of a given parent node, optionally filtering on type QName. |
void |
getChildAssocsByChildTypes(java.lang.Long parentNodeId,
java.util.Set childNodeTypeQNames,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
void |
getChildAssocsByPropertyValue(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName propertyQName,
java.io.Serializable value,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
void |
getChildAssocsWithoutParentAssocsOfType(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Gets the set of child associations of a certain parent node without parent associations of a certain type to other nodes with the same parent! In effect the 'orphans' with respect to a certain association type. |
java.lang.Long |
getCurrentTransactionId()
|
java.lang.Long |
getMaxTxnCommitTime()
|
java.lang.Long |
getMaxTxnIdByCommitTime(long maxCommitTime)
Retrieves the maximum transaction ID for which the commit time is less than the given time. |
java.lang.Long |
getMinTxnCommitTime()
|
java.lang.Long |
getNodeAclId(java.lang.Long nodeId)
|
java.util.Set |
getNodeAspects(java.lang.Long nodeId)
|
org.alfresco.util.Pair |
getNodeAssoc(java.lang.Long assocId)
|
org.alfresco.util.Pair |
getNodeAssocOrNull(java.lang.Long assocId)
|
org.alfresco.util.Pair |
getNodePair(java.lang.Long nodeId)
|
org.alfresco.util.Pair |
getNodePair(org.alfresco.service.cmr.repository.NodeRef nodeRef)
|
java.util.Map |
getNodeProperties(java.lang.Long nodeId)
|
java.io.Serializable |
getNodeProperty(java.lang.Long nodeId,
org.alfresco.service.namespace.QName propertyQName)
|
org.alfresco.service.cmr.repository.NodeRef.Status |
getNodeRefStatus(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get the current status of the node, including deleted nodes. |
void |
getNodesWithAspects(java.util.Set aspectQNames,
java.lang.Long minNodeId,
java.lang.Long maxNodeId,
NodeDAO.NodeRefQueryCallback resultsCallback)
Get nodes with aspects between the given ranges |
org.alfresco.service.namespace.QName |
getNodeType(java.lang.Long nodeId)
|
void |
getParentAssocs(java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
java.lang.Boolean isPrimary,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Get the parent association of a given parent node, optionally filtering on association QName and association type QName. |
java.util.List |
getPaths(org.alfresco.util.Pair nodePair,
boolean primaryOnly)
Build the paths for a node. |
java.util.List |
getPrimaryChildrenAcls(java.lang.Long nodeId)
Fetch all primary child node IDs and corresponding ACL IDs. |
org.alfresco.util.Pair |
getPrimaryParentAssoc(java.lang.Long childNodeId)
Finds the association between the node's primary parent and the node itself |
org.alfresco.util.Pair |
getRootNode(org.alfresco.service.cmr.repository.StoreRef storeRef)
|
java.util.Collection |
getSourceNodeAssocs(java.lang.Long targetNodeId,
org.alfresco.service.namespace.QName typeQName)
|
java.util.List |
getStores()
Fetch a list of all stores in the repository |
java.util.Collection |
getTargetNodeAssocs(java.lang.Long sourceNodeId,
org.alfresco.service.namespace.QName typeQName)
|
int |
getTransactionCount()
|
Transaction |
getTxnById(java.lang.Long txnId)
Retrieves a specific transaction. |
java.util.List |
getTxnChanges(java.lang.Long txnId)
|
java.util.List |
getTxnChangesForStore(org.alfresco.service.cmr.repository.StoreRef storeRef,
java.lang.Long txnId)
|
int |
getTxnDeleteCount(java.lang.Long txnId)
|
java.util.List |
getTxnsByCommitTimeAscending(java.util.List includeTxnIds)
Get a specific list of transactions ordered by commit time. |
java.util.List |
getTxnsByCommitTimeAscending(java.lang.Long fromTimeInclusive,
java.lang.Long toTimeExclusive,
int count,
java.util.List excludeTxnIds,
boolean remoteOnly)
Get all transactions in a given time range. |
java.util.List |
getTxnsByCommitTimeDescending(java.lang.Long fromTimeInclusive,
java.lang.Long toTimeExclusive,
int count,
java.util.List excludeTxnIds,
boolean remoteOnly)
Get all transactions in a given time range. |
java.util.List |
getTxnsUnused(java.lang.Long minTxnId,
long maxCommitTime,
int count)
|
int |
getTxnUpdateCount(java.lang.Long txnId)
|
boolean |
hasNodeAspect(java.lang.Long nodeId,
org.alfresco.service.namespace.QName aspectQName)
|
void |
init()
|
protected abstract java.lang.Long |
insertChildAssoc(ChildAssocEntity assoc)
|
protected abstract java.lang.Long |
insertNode(NodeEntity node)
|
protected abstract void |
insertNodeAspect(java.lang.Long nodeId,
java.lang.Long qnameId)
|
protected abstract java.lang.Long |
insertNodeAssoc(java.lang.Long sourceNodeId,
java.lang.Long targetNodeId,
java.lang.Long assocTypeQNameId,
int assocIndex)
|
protected abstract void |
insertNodeProperties(java.lang.Long nodeId,
java.util.Map persistableProps)
|
protected abstract java.lang.Long |
insertServer(java.lang.String ipAddress)
|
protected abstract java.lang.Long |
insertStore(StoreEntity store)
|
protected abstract java.lang.Long |
insertTransaction(java.lang.Long serverId,
java.lang.String changeTxnId,
java.lang.Long commit_time_ms)
|
boolean |
isInCurrentTxn(java.lang.Long nodeId)
|
org.alfresco.util.Pair |
moveNode(java.lang.Long childNodeId,
java.lang.Long newParentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName)
Update a node's primary association, giving it a new parent and new association parameters. |
protected abstract void |
moveNodeData(java.lang.Long fromNodeId,
java.lang.Long toNodeId)
Moves all node-linked data from one node to another. |
void |
moveStore(org.alfresco.service.cmr.repository.StoreRef oldStoreRef,
org.alfresco.service.cmr.repository.StoreRef newStoreRef)
Changes the old store reference to the new store reference. |
org.alfresco.util.Pair |
newChildAssoc(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
java.lang.String childNodeName)
Create a new child association. |
ChildAssocEntity |
newNode(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
org.alfresco.service.cmr.repository.StoreRef storeRef,
java.lang.String uuid,
org.alfresco.service.namespace.QName nodeTypeQName,
java.util.Locale nodeLocale,
java.lang.String childNodeName,
java.util.Map auditableProperties)
Create a new node. |
java.lang.Long |
newNodeAssoc(java.lang.Long sourceNodeId,
java.lang.Long targetNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
int assocIndex)
Create a new association |
org.alfresco.util.Pair |
newStore(org.alfresco.service.cmr.repository.StoreRef storeRef)
Creates a unique store for the given protocol and identifier combination. |
int |
purgeNodes(long maxTxnCommitTimeMs)
Purge deleted nodes where their participating transactions are older than a given time. |
void |
purgeTxn(java.lang.Long txnId)
|
boolean |
removeNodeAspects(java.lang.Long nodeId)
|
boolean |
removeNodeAspects(java.lang.Long nodeId,
java.util.Set aspectQNames)
|
int |
removeNodeAssoc(java.lang.Long sourceNodeId,
java.lang.Long targetNodeId,
org.alfresco.service.namespace.QName assocTypeQName)
Remove a specific node association |
int |
removeNodeAssocs(java.util.List ids)
Remove all node associations of given IDs |
int |
removeNodeAssocsToAndFrom(java.lang.Long nodeId)
Remove all node associations that share the given node. |
int |
removeNodeAssocsToAndFrom(java.lang.Long nodeId,
java.util.Set assocTypeQNames)
Remove all node associations of given types that share the given node. |
boolean |
removeNodeProperties(java.lang.Long nodeId,
java.util.Set propertyQNames)
|
protected abstract java.util.List |
selectAllStores()
|
protected abstract ChildAssocEntity |
selectChildAssoc(java.lang.Long assocId)
|
protected abstract java.util.List |
selectChildAssoc(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName)
|
protected abstract ChildAssocEntity |
selectChildAssoc(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
java.lang.String childName)
|
protected abstract void |
selectChildAssocs(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
java.lang.Boolean isPrimary,
java.lang.Boolean sameStore,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Parameters are all optional except the parent node ID and the callback |
protected abstract void |
selectChildAssocs(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
java.util.Collection childNames,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
protected abstract void |
selectChildAssocs(java.lang.Long parentNodeId,
java.util.Set assocTypeQNames,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
protected abstract void |
selectChildAssocsByChildTypes(java.lang.Long parentNodeId,
java.util.Set childNodeTypeQNames,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
protected abstract void |
selectChildAssocsByPropertyValue(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName propertyQName,
NodePropertyValue nodeValue,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
protected abstract void |
selectChildAssocsWithoutParentAssocsOfType(java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
|
protected abstract Transaction |
selectLastTxnBeforeCommitTime(java.lang.Long maxCommitTime)
|
protected abstract java.lang.Long |
selectMaxTxnCommitTime()
|
protected abstract java.lang.Long |
selectMinTxnCommitTime()
|
protected abstract java.util.Set |
selectNodeAspectIds(java.lang.Long nodeId)
|
protected abstract java.util.List |
selectNodeAspects(java.util.Set nodeIds)
|
protected abstract NodeAssocEntity |
selectNodeAssocById(java.lang.Long assocId)
|
protected abstract int |
selectNodeAssocMaxIndex(java.lang.Long sourceNodeId,
java.lang.Long assocTypeQNameId)
|
protected abstract java.util.List |
selectNodeAssocsBySource(java.lang.Long sourceNodeId,
java.lang.Long typeQNameId)
|
protected abstract java.util.List |
selectNodeAssocsByTarget(java.lang.Long targetNodeId,
java.lang.Long typeQNameId)
|
protected abstract NodeEntity |
selectNodeById(java.lang.Long id,
java.lang.Boolean deleted)
|
protected abstract NodeEntity |
selectNodeByNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.lang.Boolean deleted)
|
protected abstract java.util.Map |
selectNodeProperties(java.lang.Long nodeId)
|
protected abstract java.util.Map |
selectNodeProperties(java.lang.Long nodeId,
java.util.Set qnameIds)
|
protected abstract java.util.Map |
selectNodeProperties(java.util.Set nodeIds)
|
protected abstract java.util.List |
selectNodesByIds(java.util.SortedSet ids)
|
protected abstract java.util.List |
selectNodesByUuids(java.lang.Long storeId,
java.util.SortedSet uuids)
|
protected abstract void |
selectNodesWithAspects(java.util.List qnameIds,
java.lang.Long minNodeId,
java.lang.Long maxNodeId,
NodeDAO.NodeRefQueryCallback resultsCallback)
|
protected abstract java.util.List |
selectParentAssocs(java.lang.Long childNodeId)
|
protected abstract void |
selectParentAssocs(java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
java.lang.Boolean isPrimary,
NodeDAO.ChildAssocRefQueryCallback resultsCallback)
Parameters are all optional except the parent node ID and the callback |
protected abstract java.util.List |
selectPrimaryChildAcls(java.lang.Long nodeId)
|
protected abstract java.util.List |
selectPrimaryParentAssocs(java.lang.Long childNodeId)
No DB constraint, so multiple returned |
protected abstract ServerEntity |
selectServer(java.lang.String ipAddress)
|
protected abstract NodeEntity |
selectStoreRootNode(java.lang.Long storeId)
|
protected abstract NodeEntity |
selectStoreRootNode(org.alfresco.service.cmr.repository.StoreRef storeRef)
|
protected abstract int |
selectTransactionCount()
|
protected abstract Transaction |
selectTxnById(java.lang.Long txnId)
|
protected abstract java.util.List |
selectTxnChanges(java.lang.Long txnId,
java.lang.Long storeId)
|
protected abstract int |
selectTxnNodeChangeCount(java.lang.Long txnId,
java.lang.Boolean updates)
|
protected abstract java.util.List |
selectTxns(java.lang.Long fromTimeInclusive,
java.lang.Long toTimeExclusive,
java.lang.Integer count,
java.util.List includeTxnIds,
java.util.List excludeTxnIds,
java.lang.Long excludeServerId,
java.lang.Boolean ascending)
|
protected abstract java.util.List |
selectTxnsUnused(java.lang.Long minTxnId,
java.lang.Long maxCommitTime,
java.lang.Integer count)
|
void |
setAccessControlListDAO(AccessControlListDAO accessControlListDAO)
|
void |
setAclDAO(AclDAO aclDAO)
|
void |
setAllRootNodesCache(org.alfresco.repo.cache.SimpleCache allRootNodesCache)
Set the cache that maintains the extended Store root node data |
void |
setAspectsCache(org.alfresco.repo.cache.SimpleCache aspectsCache)
Set the cache that maintains the Node QName IDs |
int |
setChildAssocIndex(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
int index)
Sets the association index ordering. |
void |
setChildAssocsUniqueName(java.lang.Long childNodeId,
java.lang.String childName)
TODO: See about pulling automatic cm:name update logic into this DAO |
void |
setContentDataDAO(ContentDataDAO contentDataDAO)
|
void |
setControlDAO(ControlDAO controlDAO)
|
void |
setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
|
void |
setLocaleDAO(LocaleDAO localeDAO)
|
boolean |
setModifiedDate(java.lang.Long nodeId,
java.util.Date modifiedDate)
Pull the cm:modified up to the current time without changing any other cm:auditable properties. |
void |
setNodeAclId(java.lang.Long nodeId,
java.lang.Long aclId)
|
void |
setNodeAssocIndex(java.lang.Long id,
int assocIndex)
Update an existing assoc's index. |
void |
setNodeDefiningAclId(java.lang.Long nodeId,
long aclId)
Used in ACL upgrade only to set the acl id with mimimal overhead |
boolean |
setNodeProperties(java.lang.Long nodeId,
java.util.Map properties)
|
void |
setNodesCache(org.alfresco.repo.cache.SimpleCache cache)
Set the cache that maintains node ID-NodeRef cross referencing data |
void |
setParentAssocsCache(org.alfresco.repo.cache.SimpleCache parentAssocsCache)
Set the cache that maintains the Node parent associations |
void |
setPolicyBehaviourFilter(BehaviourFilter policyBehaviourFilter)
|
void |
setPrimaryChildrenSharedAclId(java.lang.Long primaryParentNodeId,
java.lang.Long optionalOldSharedAlcIdInAdditionToNull,
java.lang.Long newSharedAclId)
|
void |
setPropertiesCache(org.alfresco.repo.cache.SimpleCache propertiesCache)
Set the cache that maintains the Node property values |
void |
setQnameDAO(QNameDAO qnameDAO)
|
void |
setRootNodesCache(org.alfresco.repo.cache.SimpleCache cache)
Set the cache that maintains the Store root node data |
void |
setTransactionService(TransactionService transactionService)
|
void |
setUsageDAO(UsageDAO usageDAO)
|
protected abstract int |
updateChildAssocIndex(java.lang.Long parentNodeId,
java.lang.Long childNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
int index)
|
protected abstract int |
updateChildAssocsUniqueName(java.lang.Long childNodeId,
java.lang.String name)
|
boolean |
updateNode(java.lang.Long nodeId,
org.alfresco.service.namespace.QName nodeTypeQName,
java.util.Locale nodeLocale)
|
protected abstract int |
updateNode(NodeUpdateEntity nodeUpdate)
|
protected abstract int |
updateNodeAssoc(java.lang.Long id,
int assocIndex)
|
protected abstract int |
updateNodePatchAcl(NodeUpdateEntity nodeUpdate)
|
protected abstract void |
updatePrimaryChildrenSharedAclId(java.lang.Long primaryParentNodeId,
java.lang.Long optionalOldSharedAlcIdInAdditionToNull,
java.lang.Long newSharedAlcId)
|
protected abstract int |
updatePrimaryParentAssocs(java.lang.Long childNodeId,
java.lang.Long parentNodeId,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
java.lang.String childNodeName)
|
protected abstract int |
updateStore(StoreEntity store)
|
protected abstract int |
updateStoreRoot(StoreEntity store)
|
protected abstract int |
updateTransaction(java.lang.Long txnId,
java.lang.Long commit_time_ms)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.alfresco.repo.domain.node.NodeDAO |
---|
getChildAssocs, selectProperties |
Methods inherited from interface org.alfresco.ibatis.BatchingDAO |
---|
executeBatch, startBatch |
Field Detail |
---|
protected org.apache.commons.logging.Log logger
protected final boolean isDebugEnabled
public static final java.lang.Long LONG_ZERO
Constructor Detail |
---|
public AbstractNodeDAOImpl()
Method Detail |
---|
public void setTransactionService(TransactionService transactionService)
transactionService
- the service to start post-txn processespublic void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
dictionaryService
- the service help determine cm:auditable characteristicspublic void setPolicyBehaviourFilter(BehaviourFilter policyBehaviourFilter)
policyBehaviourFilter
- the service to determine the behaviour for cm:auditable and
other inherent capabilities.public void setAclDAO(AclDAO aclDAO)
aclDAO
- used to update permissions during certain operationspublic void setAccessControlListDAO(AccessControlListDAO accessControlListDAO)
accessControlListDAO
- used to update ACL inheritance during node movespublic void setControlDAO(ControlDAO controlDAO)
controlDAO
- create Savepointspublic void setQnameDAO(QNameDAO qnameDAO)
qnameDAO
- translates QName IDs into QName instances and vice-versapublic void setContentDataDAO(ContentDataDAO contentDataDAO)
contentDataDAO
- used to create and delete content referencespublic void setLocaleDAO(LocaleDAO localeDAO)
localeDAO
- used to handle MLText propertiespublic void setUsageDAO(UsageDAO usageDAO)
usageDAO
- used to keep content usage calculations in linepublic void setRootNodesCache(org.alfresco.repo.cache.SimpleCache cache)
cache
- the cachepublic void setAllRootNodesCache(org.alfresco.repo.cache.SimpleCache allRootNodesCache)
cache
- the cachepublic void setNodesCache(org.alfresco.repo.cache.SimpleCache cache)
cache
- the cachepublic void setAspectsCache(org.alfresco.repo.cache.SimpleCache aspectsCache)
aspectsCache
- the cachepublic void setPropertiesCache(org.alfresco.repo.cache.SimpleCache propertiesCache)
propertiesCache
- the cachepublic void setParentAssocsCache(org.alfresco.repo.cache.SimpleCache parentAssocsCache)
parentAssocsCache
- the cachepublic void init()
public java.lang.Long getCurrentTransactionId()
getCurrentTransactionId
in interface NodeDAO
public java.util.List getStores()
NodeDAO
getStores
in interface NodeDAO
public boolean exists(org.alfresco.service.cmr.repository.StoreRef storeRef)
NodeDAO
exists
in interface NodeDAO
storeRef
- the store
public org.alfresco.util.Pair getRootNode(org.alfresco.service.cmr.repository.StoreRef storeRef)
getRootNode
in interface NodeDAO
public java.util.Set getAllRootNodes(org.alfresco.service.cmr.repository.StoreRef storeRef)
getAllRootNodes
in interface NodeDAO
public org.alfresco.util.Pair newStore(org.alfresco.service.cmr.repository.StoreRef storeRef)
NodeDAO
newStore
in interface NodeDAO
public void moveStore(org.alfresco.service.cmr.repository.StoreRef oldStoreRef, org.alfresco.service.cmr.repository.StoreRef newStoreRef)
NodeDAO
moveStore
in interface NodeDAO
oldStoreRef
- the existing storenewStoreRef
- the new storepublic boolean exists(java.lang.Long nodeId)
exists
in interface NodeDAO
public boolean exists(org.alfresco.service.cmr.repository.NodeRef nodeRef)
NodeDAO
exists
in interface NodeDAO
nodeRef
- the potentially valid node reference
public boolean isInCurrentTxn(java.lang.Long nodeId)
isInCurrentTxn
in interface NodeDAO
public org.alfresco.service.cmr.repository.NodeRef.Status getNodeRefStatus(org.alfresco.service.cmr.repository.NodeRef nodeRef)
NodeDAO
getNodeRefStatus
in interface NodeDAO
nodeRef
- the node reference
public org.alfresco.util.Pair getNodePair(org.alfresco.service.cmr.repository.NodeRef nodeRef)
getNodePair
in interface NodeDAO
public org.alfresco.util.Pair getNodePair(java.lang.Long nodeId)
getNodePair
in interface NodeDAO
public org.alfresco.service.namespace.QName getNodeType(java.lang.Long nodeId)
getNodeType
in interface NodeDAO
public java.lang.Long getNodeAclId(java.lang.Long nodeId)
getNodeAclId
in interface NodeDAO
public ChildAssocEntity newNode(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String uuid, org.alfresco.service.namespace.QName nodeTypeQName, java.util.Locale nodeLocale, java.lang.String childNodeName, java.util.Map auditableProperties) throws org.alfresco.service.cmr.dictionary.InvalidTypeException
NodeDAO
newNode
in interface NodeDAO
parentNodeId
- the ID of the parent node (may not be null)assocTypeQName
- the primary association (may not be null)assocQName
- the association path (may not be null)storeRef
- the store to which the node must belonguuid
- the node store-unique identifier, or null to assign a GUIDnodeTypeQName
- the type of the nodechildNodeName
- the cm:name of the child node or null to use the node's UUIDauditableProperties
- a map containing any cm:auditable properties for the node
org.alfresco.service.cmr.dictionary.InvalidTypeException
- if the node type is invalid or if the node type
is not a valid real nodepublic org.alfresco.util.Pair moveNode(java.lang.Long childNodeId, java.lang.Long newParentNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName)
NodeDAO
moveNode
in interface NodeDAO
childNodeId
- the child node that is movingnewParentNodeId
- the new parent node (may not be null)assocTypeQName
- the new association type or null to keep the existing typeassocQName
- the new association qname or null to keep the existing name
public boolean updateNode(java.lang.Long nodeId, org.alfresco.service.namespace.QName nodeTypeQName, java.util.Locale nodeLocale)
updateNode
in interface NodeDAO
nodeTypeQName
- the new type QName for the node or null to keep the existing onenodeLocale
- the new locale for the node or null to keep the existing one
public void setNodeAclId(java.lang.Long nodeId, java.lang.Long aclId)
setNodeAclId
in interface NodeDAO
public void setPrimaryChildrenSharedAclId(java.lang.Long primaryParentNodeId, java.lang.Long optionalOldSharedAlcIdInAdditionToNull, java.lang.Long newSharedAclId)
setPrimaryChildrenSharedAclId
in interface NodeDAO
public void setNodeDefiningAclId(java.lang.Long nodeId, long aclId)
NodeDAO
setNodeDefiningAclId
in interface NodeDAO
public void deleteNode(java.lang.Long nodeId)
NodeDAO
deleteNode
in interface NodeDAO
public int purgeNodes(long maxTxnCommitTimeMs)
NodeDAO
purgeNodes
in interface NodeDAO
maxTxnCommitTimeMs
- ignore transactions created after this time
public java.util.Map getNodeProperties(java.lang.Long nodeId)
getNodeProperties
in interface NodeDAO
public java.io.Serializable getNodeProperty(java.lang.Long nodeId, org.alfresco.service.namespace.QName propertyQName)
getNodeProperty
in interface NodeDAO
public boolean setNodeProperties(java.lang.Long nodeId, java.util.Map properties)
setNodeProperties
in interface NodeDAO
public boolean addNodeProperty(java.lang.Long nodeId, org.alfresco.service.namespace.QName qname, java.io.Serializable value)
addNodeProperty
in interface NodeDAO
public boolean addNodeProperties(java.lang.Long nodeId, java.util.Map properties)
addNodeProperties
in interface NodeDAO
public boolean removeNodeProperties(java.lang.Long nodeId, java.util.Set propertyQNames)
removeNodeProperties
in interface NodeDAO
public boolean setModifiedDate(java.lang.Long nodeId, java.util.Date modifiedDate)
NodeDAO
setModifiedDate
in interface NodeDAO
nodeId
- the node to change
public java.util.Set getNodeAspects(java.lang.Long nodeId)
getNodeAspects
in interface NodeDAO
public boolean hasNodeAspect(java.lang.Long nodeId, org.alfresco.service.namespace.QName aspectQName)
hasNodeAspect
in interface NodeDAO
public boolean addNodeAspects(java.lang.Long nodeId, java.util.Set aspectQNames)
addNodeAspects
in interface NodeDAO
public boolean removeNodeAspects(java.lang.Long nodeId)
removeNodeAspects
in interface NodeDAO
public boolean removeNodeAspects(java.lang.Long nodeId, java.util.Set aspectQNames)
removeNodeAspects
in interface NodeDAO
public void getNodesWithAspects(java.util.Set aspectQNames, java.lang.Long minNodeId, java.lang.Long maxNodeId, NodeDAO.NodeRefQueryCallback resultsCallback)
NodeDAO
getNodesWithAspects
in interface NodeDAO
aspectQNames
- the aspects that must be on the nodesminNodeId
- the minimum node ID (inclusive)maxNodeId
- the maximum node ID (exclusive)resultsCallback
- callback to process resultspublic java.lang.Long newNodeAssoc(java.lang.Long sourceNodeId, java.lang.Long targetNodeId, org.alfresco.service.namespace.QName assocTypeQName, int assocIndex)
NodeDAO
newNodeAssoc
in interface NodeDAO
sourceNodeId
- the association sourcetargetNodeId
- the association targetassocTypeQName
- the type of the association (will be resolved to an ID)assocIndex
- the index of the new association (-1 indicates next value)public void setNodeAssocIndex(java.lang.Long id, int assocIndex)
NodeDAO
setNodeAssocIndex
in interface NodeDAO
id
- the association IDassocIndex
- the new index (greater than 0)public int removeNodeAssoc(java.lang.Long sourceNodeId, java.lang.Long targetNodeId, org.alfresco.service.namespace.QName assocTypeQName)
NodeDAO
removeNodeAssoc
in interface NodeDAO
public int removeNodeAssocsToAndFrom(java.lang.Long nodeId)
NodeDAO
removeNodeAssocsToAndFrom
in interface NodeDAO
nodeId
- the source or target of the associations
public int removeNodeAssocsToAndFrom(java.lang.Long nodeId, java.util.Set assocTypeQNames)
NodeDAO
removeNodeAssocsToAndFrom
in interface NodeDAO
nodeId
- the source or target of the associationsassocTypeQNames
- the types that should be deleted
public int removeNodeAssocs(java.util.List ids)
NodeDAO
removeNodeAssocs
in interface NodeDAO
ids
- the IDs of the associations to remove
public java.util.Collection getSourceNodeAssocs(java.lang.Long targetNodeId, org.alfresco.service.namespace.QName typeQName)
getSourceNodeAssocs
in interface NodeDAO
targetNodeId
- the target of the associationtypeQName
- the type of the association (optional)
public java.util.Collection getTargetNodeAssocs(java.lang.Long sourceNodeId, org.alfresco.service.namespace.QName typeQName)
getTargetNodeAssocs
in interface NodeDAO
sourceNodeId
- the source of the associationtypeQName
- the type of the association (optional)
public org.alfresco.util.Pair getNodeAssocOrNull(java.lang.Long assocId)
getNodeAssocOrNull
in interface NodeDAO
public org.alfresco.util.Pair getNodeAssoc(java.lang.Long assocId)
getNodeAssoc
in interface NodeDAO
public org.alfresco.util.Pair newChildAssoc(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, java.lang.String childNodeName)
NodeDAO
newChildAssoc
in interface NodeDAO
childNodeName
- the cm:name to apply to the association
public void deleteChildAssoc(java.lang.Long assocId)
deleteChildAssoc
in interface NodeDAO
assocId
- the ID of the child association to deletepublic int setChildAssocIndex(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, int index)
NodeDAO
setChildAssocIndex
in interface NodeDAO
parentNodeId
- the parent node IDchildNodeId
- the child node IDassocTypeQName
- the association typeassocQName
- the association path qualified name
public void setChildAssocsUniqueName(java.lang.Long childNodeId, java.lang.String childName)
setChildAssocsUniqueName
in interface NodeDAO
childNodeId
- the child node who's name is changingchildName
- the new cm:name valuepublic org.alfresco.util.Pair getChildAssoc(java.lang.Long assocId)
NodeDAO
getChildAssoc
in interface NodeDAO
assocId
- the ID of the association
public java.util.List getPrimaryChildrenAcls(java.lang.Long nodeId)
NodeDAO
getPrimaryChildrenAcls
in interface NodeDAO
nodeId
- the parent node ID
public org.alfresco.util.Pair getChildAssoc(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName)
NodeDAO
The implementation may find multiple entries (there is no constraint to prevent it) although the cm:name constraint will normally prevent the association from being created twice. The lowest ID association will always be returned and the others will be cleaned up if the transaction is read-write.
getChildAssoc
in interface NodeDAO
public void getChildAssocs(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, java.lang.Boolean isPrimary, java.lang.Boolean sameStore, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
NodeDAO
getChildAssocs
in interface NodeDAO
parentNodeId
- the parent node IDchildNodeId
- the child node ID to filter on; null for no filteringassocTypeQName
- the association type qname to filter on; null for no filteringassocQName
- the association qname to filter on; null for no filteringisPrimary
- filter for primary (true) or secondary associations;
null for no filtering.sameStore
- null to ignore, true to only get children that are in the
same store as the parent, or false to only get children that are in
a different store from the parent.resultsCallback
- the callback that will be called with the resultspublic void getChildAssocs(java.lang.Long parentNodeId, java.util.Set assocTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
NodeDAO
getChildAssocs
in interface NodeDAO
parentNodeId
- the parent node IDassocTypeQNames
- the association type qnames to filter on; null for no filteringresultsCallback
- the callback that will be called with the resultspublic org.alfresco.util.Pair getChildAssoc(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, java.lang.String childName)
NodeDAO
getChildAssoc
in interface NodeDAO
parentNodeId
- the parent Node IDassocTypeQName
- the association type to filter onchildName
- the cm:name value to filter on
public void getChildAssocs(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, java.util.Collection childNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
NodeDAO
NOTE: This method only works if the association type fundamentally supports unique-name enforcement.
getChildAssocs
in interface NodeDAO
parentNodeId
- the parent nodeassocTypeQName
- the type of the association to check; or null for no filtering.
If the association type is not specified, then the same child node may be
included several times.childNames
- the names of the child nodes (cm:name). These will be matched exactly.resultsCallback
- the callback that will be called with the resultspublic void getChildAssocsByPropertyValue(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName propertyQName, java.io.Serializable value, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
getChildAssocsByPropertyValue
in interface NodeDAO
public void getChildAssocsByChildTypes(java.lang.Long parentNodeId, java.util.Set childNodeTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
getChildAssocsByChildTypes
in interface NodeDAO
public void getChildAssocsWithoutParentAssocsOfType(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
NodeDAO
getChildAssocsWithoutParentAssocsOfType
in interface NodeDAO
parentNodeId
- the parent node IDassocTypeQName
- the association type QNameresultsCallback
- the callback that will be called with the resultspublic org.alfresco.util.Pair getPrimaryParentAssoc(java.lang.Long childNodeId)
NodeDAO
getPrimaryParentAssoc
in interface NodeDAO
public void getParentAssocs(java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, java.lang.Boolean isPrimary, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
NodeDAO
getParentAssocs
in interface NodeDAO
childNodeId
- the child node IDassocTypeQName
- the association type qname to filter on; null for no filteringassocQName
- the association qname to filter on; null for no filteringisPrimary
- filter for primary (true) or secondary associations;
null for no filtering.resultsCallback
- the callback that will be called with the resultspublic void cycleCheck(org.alfresco.util.Pair nodePair)
cycleCheck
in interface NodeDAO
nodePair
- the node to checkpath
- a set containing the nodes in the path to the nodepublic java.util.List getPaths(org.alfresco.util.Pair nodePair, boolean primaryOnly) throws org.alfresco.service.cmr.repository.InvalidNodeRefException
NodeDAO
primaryOnly == true
, checks that there is exactly
one path.
getPaths
in interface NodeDAO
primaryOnly
- true to follow only primary parent associations
org.alfresco.service.cmr.repository.InvalidNodeRefException
public void cacheNodesById(java.util.List nodeIds)
NodeBulkLoader
cacheNodesById
in interface NodeBulkLoader
nodeIds
- the nodes that will be cached.public void cacheNodes(java.util.List nodeRefs)
cacheNodes
in interface NodeBulkLoader
nodeRefs
- the nodes that will be cached.public void clear()
clear
in interface NodeBulkLoader
public java.lang.Long getMaxTxnIdByCommitTime(long maxCommitTime)
NodeDAO
getMaxTxnIdByCommitTime
in interface NodeDAO
maxCommitTime
- the max commit time (ms)
public int getTransactionCount()
getTransactionCount
in interface NodeDAO
public Transaction getTxnById(java.lang.Long txnId)
NodeDAO
getTxnById
in interface NodeDAO
txnId
- the unique transaction ID.
public java.util.List getTxnChanges(java.lang.Long txnId)
getTxnChanges
in interface NodeDAO
public java.util.List getTxnChangesForStore(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.Long txnId)
getTxnChangesForStore
in interface NodeDAO
public int getTxnUpdateCount(java.lang.Long txnId)
getTxnUpdateCount
in interface NodeDAO
public int getTxnDeleteCount(java.lang.Long txnId)
getTxnDeleteCount
in interface NodeDAO
public java.util.List getTxnsByCommitTimeAscending(java.lang.Long fromTimeInclusive, java.lang.Long toTimeExclusive, int count, java.util.List excludeTxnIds, boolean remoteOnly)
NodeDAO
getTxnsByCommitTimeAscending
in interface NodeDAO
excludeTxnIds
- a list of txn IDs to ignore. null is allowed.remoteOnly
- true if locally-written transactions must be ignoredpublic java.util.List getTxnsByCommitTimeDescending(java.lang.Long fromTimeInclusive, java.lang.Long toTimeExclusive, int count, java.util.List excludeTxnIds, boolean remoteOnly)
NodeDAO
getTxnsByCommitTimeDescending
in interface NodeDAO
excludeTxnIds
- a list of txn IDs to ignore. null is allowed.remoteOnly
- true if locally-written transactions must be ignoredpublic java.util.List getTxnsByCommitTimeAscending(java.util.List includeTxnIds)
NodeDAO
getTxnsByCommitTimeAscending
in interface NodeDAO
includeTxnIds
- a list of transaction IDs to search for
public java.util.List getTxnsUnused(java.lang.Long minTxnId, long maxCommitTime, int count)
getTxnsUnused
in interface NodeDAO
public void purgeTxn(java.lang.Long txnId)
purgeTxn
in interface NodeDAO
public java.lang.Long getMinTxnCommitTime()
getMinTxnCommitTime
in interface NodeDAO
public java.lang.Long getMaxTxnCommitTime()
getMaxTxnCommitTime
in interface NodeDAO
protected abstract ServerEntity selectServer(java.lang.String ipAddress)
protected abstract java.lang.Long insertServer(java.lang.String ipAddress)
protected abstract java.lang.Long insertTransaction(java.lang.Long serverId, java.lang.String changeTxnId, java.lang.Long commit_time_ms)
protected abstract int updateTransaction(java.lang.Long txnId, java.lang.Long commit_time_ms)
protected abstract int deleteTransaction(java.lang.Long txnId)
protected abstract java.util.List selectAllStores()
protected abstract NodeEntity selectStoreRootNode(java.lang.Long storeId)
protected abstract NodeEntity selectStoreRootNode(org.alfresco.service.cmr.repository.StoreRef storeRef)
protected abstract java.lang.Long insertStore(StoreEntity store)
protected abstract int updateStoreRoot(StoreEntity store)
protected abstract int updateStore(StoreEntity store)
protected abstract java.lang.Long insertNode(NodeEntity node)
protected abstract int updateNode(NodeUpdateEntity nodeUpdate)
protected abstract int updateNodePatchAcl(NodeUpdateEntity nodeUpdate)
protected abstract void updatePrimaryChildrenSharedAclId(java.lang.Long primaryParentNodeId, java.lang.Long optionalOldSharedAlcIdInAdditionToNull, java.lang.Long newSharedAlcId)
protected abstract int deleteNodeById(java.lang.Long nodeId, boolean deletedOnly)
protected abstract int deleteNodesByCommitTime(boolean deletedOnly, long maxTxnCommitTimeMs)
protected abstract NodeEntity selectNodeById(java.lang.Long id, java.lang.Boolean deleted)
protected abstract NodeEntity selectNodeByNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.Boolean deleted)
protected abstract java.util.List selectNodesByUuids(java.lang.Long storeId, java.util.SortedSet uuids)
protected abstract java.util.List selectNodesByIds(java.util.SortedSet ids)
protected abstract java.util.Map selectNodeProperties(java.util.Set nodeIds)
protected abstract java.util.List selectNodeAspects(java.util.Set nodeIds)
protected abstract java.util.Map selectNodeProperties(java.lang.Long nodeId)
protected abstract java.util.Map selectNodeProperties(java.lang.Long nodeId, java.util.Set qnameIds)
protected abstract int deleteNodeProperties(java.lang.Long nodeId, java.util.Set qnameIds)
protected abstract int deleteNodeProperties(java.lang.Long nodeId, java.util.List propKeys)
protected abstract void insertNodeProperties(java.lang.Long nodeId, java.util.Map persistableProps)
protected abstract java.util.Set selectNodeAspectIds(java.lang.Long nodeId)
protected abstract void insertNodeAspect(java.lang.Long nodeId, java.lang.Long qnameId)
protected abstract int deleteNodeAspects(java.lang.Long nodeId, java.util.Set qnameIds)
protected abstract void selectNodesWithAspects(java.util.List qnameIds, java.lang.Long minNodeId, java.lang.Long maxNodeId, NodeDAO.NodeRefQueryCallback resultsCallback)
protected abstract java.lang.Long insertNodeAssoc(java.lang.Long sourceNodeId, java.lang.Long targetNodeId, java.lang.Long assocTypeQNameId, int assocIndex)
protected abstract int updateNodeAssoc(java.lang.Long id, int assocIndex)
protected abstract int deleteNodeAssoc(java.lang.Long sourceNodeId, java.lang.Long targetNodeId, java.lang.Long assocTypeQNameId)
protected abstract int deleteNodeAssocsToAndFrom(java.lang.Long nodeId)
protected abstract int deleteNodeAssocsToAndFrom(java.lang.Long nodeId, java.util.Set assocTypeQNameIds)
protected abstract int deleteNodeAssocs(java.util.List ids)
protected abstract java.util.List selectNodeAssocsBySource(java.lang.Long sourceNodeId, java.lang.Long typeQNameId)
protected abstract java.util.List selectNodeAssocsByTarget(java.lang.Long targetNodeId, java.lang.Long typeQNameId)
protected abstract NodeAssocEntity selectNodeAssocById(java.lang.Long assocId)
protected abstract int selectNodeAssocMaxIndex(java.lang.Long sourceNodeId, java.lang.Long assocTypeQNameId)
protected abstract java.lang.Long insertChildAssoc(ChildAssocEntity assoc)
protected abstract int deleteChildAssocById(java.lang.Long assocId)
protected abstract int updateChildAssocIndex(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, int index)
protected abstract int updateChildAssocsUniqueName(java.lang.Long childNodeId, java.lang.String name)
protected abstract int deleteChildAssocsToAndFrom(java.lang.Long nodeId)
protected abstract ChildAssocEntity selectChildAssoc(java.lang.Long assocId)
protected abstract java.util.List selectPrimaryChildAcls(java.lang.Long nodeId)
protected abstract java.util.List selectChildAssoc(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName)
protected abstract void selectChildAssocs(java.lang.Long parentNodeId, java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, java.lang.Boolean isPrimary, java.lang.Boolean sameStore, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract void selectChildAssocs(java.lang.Long parentNodeId, java.util.Set assocTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract ChildAssocEntity selectChildAssoc(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, java.lang.String childName)
protected abstract void selectChildAssocs(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, java.util.Collection childNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract void selectChildAssocsByPropertyValue(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName propertyQName, NodePropertyValue nodeValue, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract void selectChildAssocsByChildTypes(java.lang.Long parentNodeId, java.util.Set childNodeTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract void selectChildAssocsWithoutParentAssocsOfType(java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract void selectParentAssocs(java.lang.Long childNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, java.lang.Boolean isPrimary, NodeDAO.ChildAssocRefQueryCallback resultsCallback)
protected abstract java.util.List selectParentAssocs(java.lang.Long childNodeId)
protected abstract java.util.List selectPrimaryParentAssocs(java.lang.Long childNodeId)
protected abstract int updatePrimaryParentAssocs(java.lang.Long childNodeId, java.lang.Long parentNodeId, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, java.lang.String childNodeName)
protected abstract void moveNodeData(java.lang.Long fromNodeId, java.lang.Long toNodeId)
fromNodeId
- the source nodetoNodeId
- the target nodeprotected abstract void deleteSubscriptions(java.lang.Long nodeId)
protected abstract Transaction selectLastTxnBeforeCommitTime(java.lang.Long maxCommitTime)
protected abstract int selectTransactionCount()
protected abstract Transaction selectTxnById(java.lang.Long txnId)
protected abstract java.util.List selectTxnChanges(java.lang.Long txnId, java.lang.Long storeId)
protected abstract int selectTxnNodeChangeCount(java.lang.Long txnId, java.lang.Boolean updates)
txnId
- the transaction ID (never null)updates
- TRUE to select node updates, FALSE to select
node deletions or null to select all changes.
protected abstract java.util.List selectTxns(java.lang.Long fromTimeInclusive, java.lang.Long toTimeExclusive, java.lang.Integer count, java.util.List includeTxnIds, java.util.List excludeTxnIds, java.lang.Long excludeServerId, java.lang.Boolean ascending)
protected abstract java.util.List selectTxnsUnused(java.lang.Long minTxnId, java.lang.Long maxCommitTime, java.lang.Integer count)
protected abstract java.lang.Long selectMinTxnCommitTime()
protected abstract java.lang.Long selectMaxTxnCommitTime()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |