org.mycore.backend.hibernate
Class MCRHIBAccessStore

java.lang.Object
  extended by org.mycore.access.mcrimpl.MCRAccessStore
      extended by org.mycore.backend.hibernate.MCRHIBAccessStore

public class MCRHIBAccessStore
extends MCRAccessStore

Hibernate implementation of acceess store to manage access rights

Author:
Arne Seifert

Field Summary
 
Fields inherited from class org.mycore.access.mcrimpl.MCRAccessStore
AccessPools, logger, SQLAccessCtrlMapping, SQLAccessCtrlRule, sqlDateformat
 
Constructor Summary
MCRHIBAccessStore()
           
 
Method Summary
 void createAccessDefinition(MCRRuleMapping rulemapping)
          method creates a new AccessDefinition in db
 void createTables()
           
 void deleteAccessDefinition(MCRRuleMapping rulemapping)
          delete given definition in db
 boolean existsRule(String objid, String pool)
           
 MCRRuleMapping getAccessDefinition(String pool, String objid)
          method returns AccessDefinition for given key values
 ArrayList<String> getDatabasePools()
           
 List getDistinctStringIDs()
           
 ArrayList<String> getMappedObjectId(String pool)
           
 ArrayList<String> getPoolsForObject(String objid)
           
 String getRuleID(String objID, String ACPool)
           
 void updateAccessDefinition(MCRRuleMapping rulemapping)
          update AccessDefinition in db for given MCRAccessData
 
Methods inherited from class org.mycore.access.mcrimpl.MCRAccessStore
getDefinition, getInstance, getPools, getRules
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MCRHIBAccessStore

public MCRHIBAccessStore()
Method Detail

getRuleID

public String getRuleID(String objID,
                        String ACPool)
Specified by:
getRuleID in class MCRAccessStore

createTables

public void createTables()
Specified by:
createTables in class MCRAccessStore

createAccessDefinition

public void createAccessDefinition(MCRRuleMapping rulemapping)
method creates a new AccessDefinition in db

Specified by:
createAccessDefinition in class MCRAccessStore
Parameters:
rulemapping - with values

existsRule

public boolean existsRule(String objid,
                          String pool)
Specified by:
existsRule in class MCRAccessStore

deleteAccessDefinition

public void deleteAccessDefinition(MCRRuleMapping rulemapping)
delete given definition in db

Specified by:
deleteAccessDefinition in class MCRAccessStore
Parameters:
rulemapping - rule to be deleted

updateAccessDefinition

public void updateAccessDefinition(MCRRuleMapping rulemapping)
update AccessDefinition in db for given MCRAccessData

Specified by:
updateAccessDefinition in class MCRAccessStore

getAccessDefinition

public MCRRuleMapping getAccessDefinition(String pool,
                                          String objid)
method returns AccessDefinition for given key values

Specified by:
getAccessDefinition in class MCRAccessStore
Parameters:
ruleid - name of rule
pool - name of accesspool
objid - objectid of MCRObject
Returns:
MCRAccessData

getMappedObjectId

public ArrayList<String> getMappedObjectId(String pool)
Specified by:
getMappedObjectId in class MCRAccessStore

getPoolsForObject

public ArrayList<String> getPoolsForObject(String objid)
Specified by:
getPoolsForObject in class MCRAccessStore

getDatabasePools

public ArrayList<String> getDatabasePools()
Specified by:
getDatabasePools in class MCRAccessStore

getDistinctStringIDs

public List getDistinctStringIDs()
Specified by:
getDistinctStringIDs in class MCRAccessStore
Returns:
a collection of all String IDs an access rule is assigned to