org.owasp.esapi.reference.AbstractAccessReferenceMap Maven / Gradle / Ivy
/**
* OWASP Enterprise Security API (ESAPI)
*
* This file is part of the Open Web Application Security Project (OWASP)
* Enterprise Security API (ESAPI) project. For details, please see
* http://www.owasp.org/index.php/ESAPI.
*
* Copyright (c) 2007 - The OWASP Foundation
*
* The ESAPI is published by OWASP under the BSD license. You should read and accept the
* LICENSE before you use, modify, and/or redistribute this software.
*
* @author Jeff Williams Aspect Security
* @created 2007
*/
package org.owasp.esapi.reference;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import org.owasp.esapi.AccessReferenceMap;
import org.owasp.esapi.errors.AccessControlException;
/**
* Abstract Implementation of the AccessReferenceMap.
*
* Implementation offers default synchronization on all public API
* to assist with thread safety.
*
* For complex interactions spanning multiple calls, it is recommended
* to add a synchronized block around all invocations to maintain intended data integrity.
*
*
* public MyClassUsingAARM {
* private AbstractAccessReferenceMap
* @author Chris Schmidt ([email protected])
* @since July 21, 2009
*/
public abstract class AbstractAccessReferenceMap implements AccessReferenceMap
{
private static final long serialVersionUID = 238742764284682230L;
/** The Indirect to Direct Map */
protected Map itod;
/** The Direct to Indirect Map */
protected Map