Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## spki
Class Role5Tuple

    java.lang.Object
      |
      +--spki.Tuple
            |
            +--spki.Role5Tuple

public class Role5Tuple
extends Tuple

spki Role5Tuple class.

Version:
  $Id: Role5Tuple.java,v 1.6 2002/08/07 07:20:52 tep Exp $
Author:
  Tep Narula <tep@win.trlabs.ca>

Field Summary
`private static String` | `__ME` This class's full name.
`private Empowerment` | `empowerment` The empowerment field.
`private RelativeName` | `role` The role field.

Fields inherited from class spki.Tuple
`__ME, issuer, subject, validity`

Constructor Summary
`Role5Tuple()` Don't use me.
`Role5Tuple(Issuer issuer, SubjectRole subject, Empowerment empowerment, RelativeName role, Validity validity)` Create a Role5Tuple object from given fields.
`Role5Tuple(RoleCert cert)` Create a Role5Tuple object from given role-cert.
`Role5Tuple(TransferCert cert)` Create a Role5Tuple object from given transfer-cert.

Method Summary
`Empowerment` | `getEmpowerment()` Get the empowerment field.
`LocalName` | `getRole()` Get the role field.
`Role5Tuple` | `reduce(Role5Tuple that)` An implementation of the Non-threshold Role 5-tuples Reduction Rules.
`String` | `toString()`
`Role5Tuple` | `tReduce(Role5Tuple that)` An implementation of the Open-threshold Role 5-tuples Reduction Rules.

Methods inherited from class spki.Tuple
`contains, EIntersect, EUnion, getIssuer, getSubject, getValidity, MAX, MIN, NUnion, rSubjObjsExpand, SUnion, tEliminate, VIntersect`

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.

### empowerment

    private Empowerment empowerment

  The empowerment field.

### role

    private RelativeName role

  The role field.

Constructor Detail

### Role5Tuple

    public Role5Tuple()

  Don't use me.

### Role5Tuple

    public Role5Tuple(Issuer issuer,
                      SubjectRole subject,
                      Empowerment empowerment,
                      RelativeName role,
                      Validity validity)
               throws SPKIException

  Create a Role5Tuple object from given fields.
  Parameters:
    `issuer` - The issuer field.
    `subject` - The subject field.
    `empowerment` - The empowerment field.
    `role` - The role field.
    `validity` - The validity field.
  Throws:
    SPKIException - if something went wrong.

### Role5Tuple

    public Role5Tuple(RoleCert cert)
               throws SPKIException

  Create a Role5Tuple object from given role-cert.
  Parameters:
    `cert` - The role-cert.
  Throws:
    SPKIException - if something went wrong.

### Role5Tuple

    public Role5Tuple(TransferCert cert)
               throws SPKIException

  Create a Role5Tuple object from given transfer-cert.
  Parameters:
    `cert` - The transfer-cert.
  Throws:
    SPKIException - if something went wrong.

Method Detail

### toString

    public String toString()

  Overrides:
    toString in class Tuple

### getEmpowerment

    public Empowerment getEmpowerment()

  Get the empowerment field.
  Returns:
    an Empowerment object.

### getRole

    public LocalName getRole()
                      throws SPKIException

  Get the role field. It builds a LocalName object from the issuer's principal and the role field to represent the issuer-defined role.
  Returns:
    a LocalName object.
  Throws:
    SPKIException - if something went wrong.

### reduce

    public Role5Tuple reduce(Role5Tuple that)
                      throws ReductionException

  An implementation of the Non-threshold Role 5-tuples Reduction Rules.
  <I1, [(k1 SID1)] S1, E1, R1, V1> + <I2, S2, E2, R2, V2> yield
  <I1, [(k1 SID1)] S2, EIntersect(E1, E2), R1, VIntersect(V1, V2)>
  where (k1 SID1) may or may not be present, and provided:
  - S2 is not a threshold subject,
  - if the second tuple is a delegation: S1 is a local name, I2 == Ks1, and R2 == S1;
  - or if the second tuple is a transfer: I2 == S1,
  - EIntersect(E1, E2) succeeds, and
  - VIntersect(V1, V2) succeeds.
    NOTE: this method can deals with the right-handed subject containing either a single principal or a list of principals reduced from lower-level threshold delegation(s). For Open-threshold Reduction, please use the tReduce() method.
  Parameters:
    `that` - the right-handed 5-tuple to reduce this tuple with.
  Returns:
    the reduced 5-tuple.
  Throws:
    ReductionException - if the reduction fails.
  See Also:
    `tReduce(Role5Tuple)`, `Tuple.EIntersect(Empowerment,Empowerment)`, `Tuple.VIntersect(Validity,Validity)`

### tReduce

    public Role5Tuple tReduce(Role5Tuple that)
                       throws ReductionException

  An implementation of the Open-threshold Role 5-tuples Reduction Rules.
  <I1, (k1 SID1) S1, E1, R1, V1> + <I2, (k2 SID2) S2, E2, R2, V2> yield
  <I1, (k1 SID1) SUnion(S1, S2), EUnion(E1, E2), R1, VIntersect(V1, V2)>
  provided:
  - I2 == S1,
  - SUnion(S1, S2) succeeds,
  - EUnion(E1, E2) succeeds,
  - R2 == R1, and
  - VIntersect(V1, V2) succeeds.
  Parameters:
    `that` - the right-handed 5-tuple to reduce this tuple with.
  Returns:
    the reduced 5-tuple.
  Throws:
    ReductionException - if the reduction fails.
  See Also:
    `Tuple.SUnion(Subject,Subject)`, `Tuple.EUnion(Empowerment,Empowerment)`, `Tuple.VIntersect(Validity,Validity)`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD