org.alfresco.repo.domain.avm
Class AbstractAVMNodeDAOImpl

java.lang.Object
  extended by org.alfresco.repo.domain.avm.AbstractAVMNodeDAOImpl
All Implemented Interfaces:
AVMNodeDAO
Direct Known Subclasses:
AVMNodeDAOImpl

public abstract class AbstractAVMNodeDAOImpl
extends java.lang.Object
implements AVMNodeDAO

Abstract implementation for AVMNode DAO.

This provides basic services such as caching but defers to the underlying implementation for CRUD operations.

Since:
3.2

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.alfresco.repo.domain.avm.AVMNodeDAO
AVMNodeDAO.ContentUrlHandler
 
Constructor Summary
AbstractAVMNodeDAOImpl()
          Default constructor.
 
Method Summary
 void clearNodeEntityCache()
          
 void createAspect(long nodeId, org.alfresco.service.namespace.QName qname)
          Add aspect to given Node
protected abstract  void createAspectEntity(long nodeId, long qnameId)
           
 AVMNodeEntity createNode(AVMNodeEntity nodeEntity)
           
protected abstract  AVMNodeEntity createNodeEntity(AVMNodeEntity nodeEntity)
           
 void createOrUpdateNodeProperty(long nodeId, org.alfresco.service.namespace.QName qname, PropertyValue value)
          
 void deleteAspect(long nodeId, org.alfresco.service.namespace.QName qname)
          Remove aspect from given Node
protected abstract  int deleteAspectEntities(long nodeId)
           
protected abstract  int deleteAspectEntity(long nodeId, long qnameId)
           
 void deleteAspects(long nodeId)
          
 void deleteNode(long nodeId)
          
protected abstract  int deleteNodeEntity(long nodeId)
           
 void deleteNodeProperties(long nodeId)
          
 void deleteNodeProperty(long nodeId, org.alfresco.service.namespace.QName qname)
          
protected abstract  int deleteNodePropertyEntities(long nodeId)
           
protected abstract  int deleteNodePropertyEntity(long nodeId, long qnameId)
           
 java.util.List getAllLayeredDirectories()
          
protected abstract  java.util.List getAllLayeredDirectoryNodeEntities()
           
protected abstract  java.util.List getAllLayeredFileNodeEntities()
           
 java.util.List getAllLayeredFiles()
          
protected abstract  java.util.List getAspectEntities(long nodeId)
           
 java.util.Set getAspects(long nodeId)
          Get set of aspects for given Node
 void getContentUrls(AVMNodeDAO.ContentUrlHandler handler)
          Get all content urls in the AVM Repository.
protected abstract  java.util.List getLayeredNodeEntitiesNewInStore(long storeId)
           
protected abstract  java.util.List getLayeredNodeEntityIdsNewInStore(long storeId)
           
 java.util.List getLayeredNodesNewInStore(long storeId)
          
 java.util.List getLayeredNodesNewInStoreIDs(long storeId)
          
 AVMNodeEntity getNode(long nodeId)
          
protected abstract  java.util.List getNodeEntitiesNewInStore(long storeId)
           
protected abstract  AVMNodeEntity getNodeEntity(long nodeId)
           
protected abstract  java.util.List getNodeEntityOrphans(int maxSize)
           
 java.util.List getNodeOrphans(int maxSize)
          
 java.util.Map getNodeProperties(long nodeId)
          
protected abstract  java.util.List getNodePropertyEntities(long nodeId)
           
protected abstract  AVMNodePropertyEntity getNodePropertyEntity(long nodeId, long qnameId)
           
 java.util.List getNodesNewInStore(long storeId)
          
protected abstract  void getPlainFileContentUrls(AVMNodeDAO.ContentUrlHandler handler)
           
protected abstract  void insertNodePropertyEntity(AVMNodePropertyEntity propEntity)
           
 void setAvmNodeAspectsCache(org.alfresco.repo.cache.SimpleCache avmNodeAspectsCache)
          Set the cache to use for avm_aspects lookups (optional).
 void setAvmNodeCache(org.alfresco.repo.cache.SimpleCache avmNodeCache)
          Set the cache to use for avm_nodes lookups (optional).
 void setAvmNodePropertyCache(org.alfresco.repo.cache.SimpleCache avmNodePropCache)
          Set the cache to use for avm_node_properties lookups (optional).
 void setQnameDAO(QNameDAO qnameDAO)
           
 void updateNode(AVMNodeEntity nodeEntity)
          
protected abstract  void updateNodeEntitiesClearNewInStore(long storeId)
           
protected abstract  int updateNodeEntity(AVMNodeEntity nodeEntity)
           
protected abstract  int updateNodeEntityModTimeAndContentData(AVMNodeEntity nodeEntity)
           
protected abstract  int updateNodeEntityModTimeAndGuid(AVMNodeEntity nodeEntity)
           
 void updateNodeModTimeAndContentData(AVMNodeEntity nodeEntity)
          Deprecated.  
 void updateNodeModTimeAndGuid(AVMNodeEntity nodeEntity)
          Deprecated.  
protected abstract  int updateNodePropertyEntity(AVMNodePropertyEntity propEntity)
           
 void updateNodesClearNewInStore(long storeId)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAVMNodeDAOImpl

public AbstractAVMNodeDAOImpl()
Default constructor.

This sets up the DAO accessors to bypass any caching to handle the case where the caches are not supplied in the setters.

Method Detail

setAvmNodeCache

public void setAvmNodeCache(org.alfresco.repo.cache.SimpleCache avmNodeCache)
Set the cache to use for avm_nodes lookups (optional).

Parameters:
avmNodeCache - the cache of IDs to AVMNodeEntities

setAvmNodePropertyCache

public void setAvmNodePropertyCache(org.alfresco.repo.cache.SimpleCache avmNodePropCache)
Set the cache to use for avm_node_properties lookups (optional).

Parameters:
avmNodePropCache - the cache of IDs to AVMNodePropertyEntities

setAvmNodeAspectsCache

public void setAvmNodeAspectsCache(org.alfresco.repo.cache.SimpleCache avmNodeAspectsCache)
Set the cache to use for avm_aspects lookups (optional).

Parameters:
avmNodeAspectsCache -

setQnameDAO

public void setQnameDAO(QNameDAO qnameDAO)

createNode

public AVMNodeEntity createNode(AVMNodeEntity nodeEntity)
Specified by:
createNode in interface AVMNodeDAO

getNode

public AVMNodeEntity getNode(long nodeId)

Specified by:
getNode in interface AVMNodeDAO

clearNodeEntityCache

public void clearNodeEntityCache()

Specified by:
clearNodeEntityCache in interface AVMNodeDAO

updateNode

public void updateNode(AVMNodeEntity nodeEntity)

Specified by:
updateNode in interface AVMNodeDAO

updateNodeModTimeAndGuid

public void updateNodeModTimeAndGuid(AVMNodeEntity nodeEntity)
Deprecated. 

Specified by:
updateNodeModTimeAndGuid in interface AVMNodeDAO

updateNodeModTimeAndContentData

public void updateNodeModTimeAndContentData(AVMNodeEntity nodeEntity)
Deprecated. 

Specified by:
updateNodeModTimeAndContentData in interface AVMNodeDAO

getNodesNewInStore

public java.util.List getNodesNewInStore(long storeId)

Specified by:
getNodesNewInStore in interface AVMNodeDAO

getLayeredNodesNewInStore

public java.util.List getLayeredNodesNewInStore(long storeId)

Specified by:
getLayeredNodesNewInStore in interface AVMNodeDAO

getLayeredNodesNewInStoreIDs

public java.util.List getLayeredNodesNewInStoreIDs(long storeId)

Specified by:
getLayeredNodesNewInStoreIDs in interface AVMNodeDAO

getNodeOrphans

public java.util.List getNodeOrphans(int maxSize)

Specified by:
getNodeOrphans in interface AVMNodeDAO

updateNodesClearNewInStore

public void updateNodesClearNewInStore(long storeId)

Specified by:
updateNodesClearNewInStore in interface AVMNodeDAO

deleteNode

public void deleteNode(long nodeId)

Specified by:
deleteNode in interface AVMNodeDAO

getAllLayeredDirectories

public java.util.List getAllLayeredDirectories()

Specified by:
getAllLayeredDirectories in interface AVMNodeDAO

getAllLayeredFiles

public java.util.List getAllLayeredFiles()

Specified by:
getAllLayeredFiles in interface AVMNodeDAO

getContentUrls

public void getContentUrls(AVMNodeDAO.ContentUrlHandler handler)
Get all content urls in the AVM Repository.

Specified by:
getContentUrls in interface AVMNodeDAO

createNodeEntity

protected abstract AVMNodeEntity createNodeEntity(AVMNodeEntity nodeEntity)

getNodeEntity

protected abstract AVMNodeEntity getNodeEntity(long nodeId)

updateNodeEntity

protected abstract int updateNodeEntity(AVMNodeEntity nodeEntity)

updateNodeEntityModTimeAndGuid

protected abstract int updateNodeEntityModTimeAndGuid(AVMNodeEntity nodeEntity)

updateNodeEntityModTimeAndContentData

protected abstract int updateNodeEntityModTimeAndContentData(AVMNodeEntity nodeEntity)

deleteNodeEntity

protected abstract int deleteNodeEntity(long nodeId)

updateNodeEntitiesClearNewInStore

protected abstract void updateNodeEntitiesClearNewInStore(long storeId)

getNodeEntitiesNewInStore

protected abstract java.util.List getNodeEntitiesNewInStore(long storeId)

getLayeredNodeEntitiesNewInStore

protected abstract java.util.List getLayeredNodeEntitiesNewInStore(long storeId)

getLayeredNodeEntityIdsNewInStore

protected abstract java.util.List getLayeredNodeEntityIdsNewInStore(long storeId)

getNodeEntityOrphans

protected abstract java.util.List getNodeEntityOrphans(int maxSize)

getAllLayeredDirectoryNodeEntities

protected abstract java.util.List getAllLayeredDirectoryNodeEntities()

getAllLayeredFileNodeEntities

protected abstract java.util.List getAllLayeredFileNodeEntities()

getPlainFileContentUrls

protected abstract void getPlainFileContentUrls(AVMNodeDAO.ContentUrlHandler handler)

getAspects

public java.util.Set getAspects(long nodeId)
Get set of aspects for given Node

Specified by:
getAspects in interface AVMNodeDAO
Parameters:
nodeId - the unique ID of the node entity
Returns:
the set of qnames (never null)

createAspect

public void createAspect(long nodeId,
                         org.alfresco.service.namespace.QName qname)
Add aspect to given Node

Specified by:
createAspect in interface AVMNodeDAO
Parameters:
nodeId - the unique ID of the node entity
qname - the qname

deleteAspect

public void deleteAspect(long nodeId,
                         org.alfresco.service.namespace.QName qname)
Remove aspect from given Node

Specified by:
deleteAspect in interface AVMNodeDAO
Parameters:
nodeId - the unique ID of the node entity

deleteAspects

public void deleteAspects(long nodeId)

Specified by:
deleteAspects in interface AVMNodeDAO

getAspectEntities

protected abstract java.util.List getAspectEntities(long nodeId)

createAspectEntity

protected abstract void createAspectEntity(long nodeId,
                                           long qnameId)

deleteAspectEntity

protected abstract int deleteAspectEntity(long nodeId,
                                          long qnameId)

deleteAspectEntities

protected abstract int deleteAspectEntities(long nodeId)

createOrUpdateNodeProperty

public void createOrUpdateNodeProperty(long nodeId,
                                       org.alfresco.service.namespace.QName qname,
                                       PropertyValue value)

Specified by:
createOrUpdateNodeProperty in interface AVMNodeDAO

getNodeProperties

public java.util.Map getNodeProperties(long nodeId)

Specified by:
getNodeProperties in interface AVMNodeDAO

deleteNodeProperty

public void deleteNodeProperty(long nodeId,
                               org.alfresco.service.namespace.QName qname)

Specified by:
deleteNodeProperty in interface AVMNodeDAO

deleteNodeProperties

public void deleteNodeProperties(long nodeId)

Specified by:
deleteNodeProperties in interface AVMNodeDAO

insertNodePropertyEntity

protected abstract void insertNodePropertyEntity(AVMNodePropertyEntity propEntity)

updateNodePropertyEntity

protected abstract int updateNodePropertyEntity(AVMNodePropertyEntity propEntity)

getNodePropertyEntity

protected abstract AVMNodePropertyEntity getNodePropertyEntity(long nodeId,
                                                               long qnameId)

getNodePropertyEntities

protected abstract java.util.List getNodePropertyEntities(long nodeId)

deleteNodePropertyEntity

protected abstract int deleteNodePropertyEntity(long nodeId,
                                                long qnameId)

deleteNodePropertyEntities

protected abstract int deleteNodePropertyEntities(long nodeId)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.