spki
Class SubjectCapability

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

public class SubjectCapability
extends Subject

SPKI SubjectCapability class.

Formal definitions:

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

Version:
$Id: SubjectCapability.java,v 1.8 2002/06/25 12:48:02 tep Exp $
Author:
Tep Narula <tep@win.trlabs.ca>
See Also:
Subject, SubjCapabilityObj

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 SubjectCapability()
          Don't use me!
  SubjectCapability(int threshold, Sexp thresh_scheme, Object[] subjects)
          Create an immutable SubjectCapability object from given threshold and list of subj-cap-objs.
  SubjectCapability(int threshold, Sexp thresh_scheme, SubjCapabilityObj subject)
          Create an immutable SubjectCapability object from a given threshold value and subj-cap-obj.
  SubjectCapability(SExpression sexp)
          Create an immutable SubjectCapability object from an S-Expression.
 
Method Summary
static SubjCapabilityObj getSubjCapabilityObj(SExpression sexp)
          Get an instance of a SubjCapabilityObj 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

SubjectCapability

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

SubjectCapability

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

SubjectCapability

public SubjectCapability(int threshold,
                         Sexp thresh_scheme,
                         SubjCapabilityObj subject)
                  throws SPKIException
Create an immutable SubjectCapability object from a given threshold value and subj-cap-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-cap-obj.
See Also:
Subject.MIN_THRESHOLD, SubjCapabilityObj

SubjectCapability

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

getSubjCapabilityObj

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