org.mycore.access.mcrimpl
Class MCRAccessStore

java.lang.Object
  extended by org.mycore.access.mcrimpl.MCRAccessStore
Direct Known Subclasses:
MCRHIBAccessStore

public abstract class MCRAccessStore
extends Object

The purpose of this interface is to make the choice of the persistence layer configurable. Any concrete database-class which stores MyCoRe Access control must implement this interface. Which database actually will be used can then be configured by reading the value MCR.Persistence.Access.Store.Class from mycore.properties.access

Version:
$Revision$ $Date$
Author:
Arne Seifert

Field Summary
protected static String AccessPools
           
static Logger logger
           
protected static String SQLAccessCtrlMapping
           
protected static String SQLAccessCtrlRule
           
protected static String sqlDateformat
           
 
Constructor Summary
MCRAccessStore()
           
 
Method Summary
abstract  void createAccessDefinition(MCRRuleMapping accessdata)
           
abstract  void createTables()
           
abstract  void deleteAccessDefinition(MCRRuleMapping accessdata)
           
abstract  boolean existsRule(String objid, String pool)
           
abstract  MCRRuleMapping getAccessDefinition(String pool, String objid)
           
abstract  Collection<String> getDatabasePools()
           
 Collection<MCRAccessDefinition> getDefinition(String type)
          alle Elemente eines Datentypes aufbereiten
abstract  Collection<String> getDistinctStringIDs()
           
static MCRAccessStore getInstance()
           
abstract  Collection<String> getMappedObjectId(String pool)
           
static Collection<String> getPools()
           
abstract  Collection<String> getPoolsForObject(String objid)
           
abstract  String getRuleID(String objID, String ACPool)
           
 Collection<MCRAccessDefinition> getRules(String objid)
           
abstract  void updateAccessDefinition(MCRRuleMapping accessdata)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

public static Logger logger

sqlDateformat

protected static final String sqlDateformat
See Also:
Constant Field Values

SQLAccessCtrlRule

protected static final String SQLAccessCtrlRule

SQLAccessCtrlMapping

protected static final String SQLAccessCtrlMapping

AccessPools

protected static final String AccessPools
Constructor Detail

MCRAccessStore

public MCRAccessStore()
Method Detail

createTables

public abstract void createTables()

getRuleID

public abstract String getRuleID(String objID,
                                 String ACPool)

createAccessDefinition

public abstract void createAccessDefinition(MCRRuleMapping accessdata)

deleteAccessDefinition

public abstract void deleteAccessDefinition(MCRRuleMapping accessdata)

updateAccessDefinition

public abstract void updateAccessDefinition(MCRRuleMapping accessdata)

getAccessDefinition

public abstract MCRRuleMapping getAccessDefinition(String pool,
                                                   String objid)

getMappedObjectId

public abstract Collection<String> getMappedObjectId(String pool)

getPoolsForObject

public abstract Collection<String> getPoolsForObject(String objid)

getDatabasePools

public abstract Collection<String> getDatabasePools()

existsRule

public abstract boolean existsRule(String objid,
                                   String pool)

getDistinctStringIDs

public abstract Collection<String> getDistinctStringIDs()
Returns:
a collection of all String IDs an access rule is assigned to

getInstance

public static MCRAccessStore getInstance()

getPools

public static Collection<String> getPools()

getDefinition

public Collection<MCRAccessDefinition> getDefinition(String type)
alle Elemente eines Datentypes aufbereiten

Parameters:
type - document type
Returns:
List of MCRAccessDefinition
See Also:
MCRAccessDefinition

getRules

public Collection<MCRAccessDefinition> getRules(String objid)