spki
Class SubjectRole

java.lang.Object
  |
  +--spki.BaseObj
        |
        +--spki.Subject
              |
              +--spki.SubjectRole

public class SubjectRole
extends Subject

SPKI SubjectRole class.

Formal definitions:

 <subject-role>:: "(" "subject" <threshold>? <subj-role-obj> ")" ;
 

Version:
$Id: SubjectRole.java,v 1.13 2002/06/25 12:48:03 tep Exp $
Author:
Tep Narula <tep@win.trlabs.ca>
See Also:
Subject, SubjRoleObj

Field Summary
private static String __ME
          This class's full name.
 
Fields inherited from class spki.Subject
__ME, dirty, MIN_THRESHOLD, reduceonly, SEXP_NAME, subj_obj, subj_obj_sexp, subj_objs, thresh, thresh_scheme, THRESHOLD_SEXP_NAME
 
Fields inherited from class spki.BaseObj
__ME, cache_sexp, cached_sexp, DEFAULT_HASH_ALG, locked, SEXP_NAME
 
Constructor Summary
protected SubjectRole()
          Don't use me!
  SubjectRole(int threshold, Sexp thresh_scheme, Object[] subjects)
          Create an immutable SubjectRole object from given threshold and list of subj-role-objs.
  SubjectRole(int threshold, Sexp thresh_scheme, SubjRoleObj subject)
          Create an immutable SubjectRole object from a given threshold value and subj-role-obj.
  SubjectRole(SExpression sexp)
          Create an immutable SubjectRole object from an S-Expression.
 
Method Summary
static SubjRoleObj getSubjRoleObj(SExpression sexp)
          Get an instance of a SubjRoleObj from given S-Expression.
 
Methods inherited from class spki.Subject
getSubjACL, getSubjObj, getSubjObjs, getSubjObjsLength, getThreshold, getThresholdSchemeId, rSubjObjs2SExpression, setSubjObj, setThreshold, toSExpression
 
Methods inherited from class spki.BaseObj
disableSExpressionCaching, enableSExpressionCaching, extractHashAlgId, getCachedSExpression, isLocked, isSListOfType, lock, providerToSPKI, setCachedSExpression, spkiToProvider, toString
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

__ME

private static final String __ME
This class's full name.
Constructor Detail

SubjectRole

protected SubjectRole()
Don't use me!
See Also:
SubjectRole(SExpression), SubjectRole(int,Sexp,SubjRoleObj)

SubjectRole

public SubjectRole(SExpression sexp)
            throws SPKIException,
                   ParseException
Create an immutable SubjectRole object from an S-Expression.
See Also:
Subject.Subject(SExpression)

SubjectRole

public SubjectRole(int threshold,
                   Sexp thresh_scheme,
                   SubjRoleObj subject)
            throws SPKIException
Create an immutable SubjectRole object from a given threshold value and subj-role-obj.
Parameters:
threshold - the optional threshold value, ignored if < MIN_THRESHOLD.
thresh_scheme - the threshold scheme-id, ignored if the threshold argument is ignored.
subject - the subj-role-obj.
See Also:
Subject.MIN_THRESHOLD, SubjRoleObj

SubjectRole

public SubjectRole(int threshold,
                   Sexp thresh_scheme,
                   Object[] subjects)
            throws SPKIException
Create an immutable SubjectRole object from given threshold and list of subj-role-objs. For use in the threshold reduction only.
See Also:
Subject.Subject(int,Sexp,Object[])
Method Detail

getSubjRoleObj

public static final SubjRoleObj getSubjRoleObj(SExpression sexp)
                                        throws ParseException,
                                               SPKIException
Get an instance of a SubjRoleObj from given S-Expression.
Parameters:
sexp - the SExpression containing a SubjRoleObj.
Returns:
An object instance implementing SubjRoleObj.
Throws:
ParseException - if the argument doesn't contain a SubjRoleObj.
SPKIException - if something went wrong.