Package org.kohsuke.accmod
Class AccessRestriction
java.lang.Object
org.kohsuke.accmod.AccessRestriction
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 indices that you might need for implementing
access control checks.
- Author:
- Kohsuke Kawaguchi
-
Field Summary
Modifier and TypeFieldDescriptionstatic final AccessRestriction
AccessRestriction
that imposes no restriction. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Whether this access restriction, if applied to a type, should also be considered to apply implicitly to all transitively nested members.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.
-
Field Details
-
NONE
AccessRestriction
that imposes no restriction.
-
-
Constructor Details
-
AccessRestriction
public AccessRestriction()
-
-
Method Details
-
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
The method on which this restriction is placed is invoked elsewhere. -
read
The field on which this restriction is placed is read. -
written
The field on which this restriction is placed is updated. -
appliesToNested
public boolean appliesToNested()Whether this access restriction, if applied to a type, should also be considered to apply implicitly to all transitively nested members.- Returns:
- by default, false
-