org.kohsuke.accmod
Class AccessRestriction

java.lang.Object
  extended by org.kohsuke.accmod.AccessRestriction
Direct Known Subclasses:
DoNotUse, None

public abstract class AccessRestriction
extends java.lang.Object

Access restriction policy — determines what access is OK and what are not.

The subtype of this interface is a strategy object. Instances of these classes are created during the access enforcement to perform constraint checks.

Single execution of the enforcement check would create at most one instance of a given AccessRestriction type, so instance fields can be used to store heavy-weight objects or other indicies that you might need for implementing access control checks.

Author:
Kohsuke Kawaguchi

Field Summary
static AccessRestriction NONE
          AccessRestriction that imposes no restriction.
 
Constructor Summary
AccessRestriction()
           
 
Method Summary
abstract  void instantiated(Location loc, RestrictedElement target, ErrorListener errorListener)
          The type on which this restriction is placed is instantiated elsewhere.
abstract  void invoked(Location loc, RestrictedElement target, ErrorListener errorListener)
          The method on which this restriction is placed is invoked elsewhere.
abstract  void read(Location loc, RestrictedElement target, ErrorListener errorListener)
          The field on which this restriction is placed is read.
abstract  void usedAsInterface(Location loc, RestrictedElement target, ErrorListener errorListener)
          The type on which this restriction is placed is used as an interface that another class/interface implements.
abstract  void usedAsSuperType(Location loc, RestrictedElement target, ErrorListener errorListener)
          The type on which this restriction is placed is used as a supertype by another class.
abstract  void written(Location loc, RestrictedElement target, ErrorListener errorListener)
          The field on which this restriction is placed is updated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NONE

public static final AccessRestriction NONE
AccessRestriction that imposes no restriction.

Constructor Detail

AccessRestriction

public AccessRestriction()
Method Detail

usedAsSuperType

public abstract void usedAsSuperType(Location loc,
                                     RestrictedElement target,
                                     ErrorListener errorListener)
The type on which this restriction is placed is used as a supertype by another class. The location points to the subtype.

Parameters:
loc - Points to the subtype.
errorListener - Report any error here.

usedAsInterface

public abstract void usedAsInterface(Location loc,
                                     RestrictedElement target,
                                     ErrorListener errorListener)
The type on which this restriction is placed is used as an interface that another class/interface implements.

Parameters:
loc - Points to the subtype.
errorListener - Report any error here.

instantiated

public abstract void instantiated(Location loc,
                                  RestrictedElement target,
                                  ErrorListener errorListener)
The type on which this restriction is placed is instantiated elsewhere.


invoked

public abstract void invoked(Location loc,
                             RestrictedElement target,
                             ErrorListener errorListener)
The method on which this restriction is placed is invoked elsewhere.


read

public abstract void read(Location loc,
                          RestrictedElement target,
                          ErrorListener errorListener)
The field on which this restriction is placed is read.


written

public abstract void written(Location loc,
                             RestrictedElement target,
                             ErrorListener errorListener)
The field on which this restriction is placed is updated.



Copyright © 2011. All Rights Reserved.