org.apache.qpid.server.security.access.config
Class Action

java.lang.Object
  extended by org.apache.qpid.server.security.access.config.Action

public class Action
extends Object

An access control v2 rule action. An action consists of an Operation on an ObjectType with certain properties, stored in a Map. The operation and object should be an allowable combination, based on the ObjectType.isAllowed(Operation) method of the object, which is exposed as the isAllowed() method here. The internal #propertiesMatch(Map) and #valueMatches(String, String) methods are used to determine wildcarded matching of properties, with the empty string or "*" matching all values, and "*" at the end of a rule value indicating prefix matching.

The matches(Action) method is intended to be used when determining precedence of rules, and equals(Object) and hashCode() are intended for use in maps. This is due to the wildcard matching described above.


Nested Class Summary
 class Action.Specificity
          An ordering based on specificity
 
Constructor Summary
Action(org.apache.qpid.server.security.access.Operation operation)
           
Action(org.apache.qpid.server.security.access.Operation operation, org.apache.qpid.server.security.access.ObjectType object)
           
Action(org.apache.qpid.server.security.access.Operation operation, org.apache.qpid.server.security.access.ObjectType object, org.apache.qpid.server.security.access.ObjectProperties properties)
           
Action(org.apache.qpid.server.security.access.Operation operation, org.apache.qpid.server.security.access.ObjectType object, String name)
           
 
Method Summary
 boolean equals(Object o)
           
 org.apache.qpid.server.security.access.ObjectType getObjectType()
           
 org.apache.qpid.server.security.access.Operation getOperation()
           
 org.apache.qpid.server.security.access.ObjectProperties getProperties()
           
 int hashCode()
           
 boolean isAllowed()
           
 boolean matches(Action a)
           
 void setObjectType(org.apache.qpid.server.security.access.ObjectType object)
           
 void setOperation(org.apache.qpid.server.security.access.Operation operation)
           
 void setProperties(org.apache.qpid.server.security.access.ObjectProperties properties)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Action

public Action(org.apache.qpid.server.security.access.Operation operation)

Action

public Action(org.apache.qpid.server.security.access.Operation operation,
              org.apache.qpid.server.security.access.ObjectType object,
              String name)

Action

public Action(org.apache.qpid.server.security.access.Operation operation,
              org.apache.qpid.server.security.access.ObjectType object)

Action

public Action(org.apache.qpid.server.security.access.Operation operation,
              org.apache.qpid.server.security.access.ObjectType object,
              org.apache.qpid.server.security.access.ObjectProperties properties)
Method Detail

getOperation

public org.apache.qpid.server.security.access.Operation getOperation()

setOperation

public void setOperation(org.apache.qpid.server.security.access.Operation operation)

getObjectType

public org.apache.qpid.server.security.access.ObjectType getObjectType()

setObjectType

public void setObjectType(org.apache.qpid.server.security.access.ObjectType object)

getProperties

public org.apache.qpid.server.security.access.ObjectProperties getProperties()

setProperties

public void setProperties(org.apache.qpid.server.security.access.ObjectProperties properties)

isAllowed

public boolean isAllowed()

matches

public boolean matches(Action a)
See Also:
Comparable.compareTo(Object)

equals

public boolean equals(Object o)
Overrides:
equals in class Object
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Overrides:
hashCode in class Object
See Also:
Object.hashCode()

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()


Licensed to the Apache Software Foundation