Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

jsdsi
Class AclEntry  view AclEntry download AclEntry.java

java.lang.Object
  extended byjsdsi.Obj
      extended byjsdsi.AclEntry

public class AclEntry
extends Obj

An ACL entry that specifies a permission (the Tag) and a set of principals (the Subject) that may access the object protected by this entry's ACL.

Version:
$Revision: 1.2 $ $Date: 2003/04/22 21:37:44 $

Field Summary
private  Auth auth
          The permission of this ACL entry.
private  java.lang.String comment
          The comment of this AclEntry.
private  Subject subject
          The subject of this AclEntry.
private  Validity validity
          The validity of this AclEntry.
 
Constructor Summary
AclEntry(Subject s, Tag t, boolean p, Validity v, java.lang.String c)
          Creates a new AclEntry from a given subject, tag, delegation bit, validity, and comment.
 
Method Summary
 boolean equals(java.lang.Object o)
          Determine whether this Object is semantically equal to another Object.
 java.lang.String getComment()
          Returns the comment of this AclEntry (may be null).
 boolean getPropagate()
          Returns the delegation bit of this AclEntry's auth.
 Subject getSubject()
          Returns the subject of this AclEntry.
 Tag getTag()
          Returns the tag of this AclEntry's auth.
 Validity getValidity()
          Returns the validity of this AclEntry (may be null).
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
(package private) static AclEntry parseAclEntry(SexpList l)
          Parses an AclEntry from a given SexpList.
 SexpList toSexp()
          Returns an SexpList that represents this AclEntry.
 
Methods inherited from class jsdsi.Obj
parseObj, toByteArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

subject

private final Subject subject
The subject of this AclEntry.


auth

private final Auth auth
The permission of this ACL entry.


validity

private final Validity validity
The validity of this AclEntry.


comment

private final java.lang.String comment
The comment of this AclEntry.

Constructor Detail

AclEntry

public AclEntry(Subject s,
                Tag t,
                boolean p,
                Validity v,
                java.lang.String c)
Creates a new AclEntry from a given subject, tag, delegation bit, validity, and comment.

Method Detail

getSubject

public Subject getSubject()
Returns the subject of this AclEntry.


getTag

public Tag getTag()
Returns the tag of this AclEntry's auth.


getPropagate

public boolean getPropagate()
Returns the delegation bit of this AclEntry's auth.


getValidity

public Validity getValidity()
Returns the validity of this AclEntry (may be null).


getComment

public java.lang.String getComment()
Returns the comment of this AclEntry (may be null).


equals

public boolean equals(java.lang.Object o)
Description copied from class: java.lang.Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

  • It must be transitive. If a.equals(b) and b.equals(c), then a.equals(c) must be true as well.
  • It must be symmetric. a.equals(b) and b.equals(a) must have the same value.
  • It must be reflexive. a.equals(a) must always be true.
  • It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
  • a.equals(null) must be false.
  • It must be consistent with hashCode(). That is, a.equals(b) must imply a.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.

This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for a.equals(b) to be true even though a.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.

In general, the Collections API (java.util) use the equals method rather than the == operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.

The default implementation returns this == o.

Specified by:
equals in class Obj

hashCode

public int hashCode()
Description copied from class: java.lang.Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

  • Semantic equality implies identical hashcodes. In other words, if a.equals(b) is true, then a.hashCode() == b.hashCode() must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal.
  • It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.

Notice that since hashCode is used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)

Specified by:
hashCode in class Obj

toSexp

public SexpList toSexp()
Returns an SexpList that represents this AclEntry.

Specified by:
toSexp in class Obj

parseAclEntry

static AclEntry parseAclEntry(SexpList l)
                       throws SexpParseException
Parses an AclEntry from a given SexpList.