package edu.stanford.rt.credential;
/**
* @author Ninghui Li, Sandra Qiu
*
* Implementation of LinkedRole
element.
*/
public class LinkedRole implements PrincipalExpression
{
private RoleTerm roleTerm1; // required element.
private RoleTerm roleTerm2; // required element.
/**
* Constructor for LinkedRole.
*/
public LinkedRole(RoleTerm term1, RoleTerm term2)
{
roleTerm1 = term1;
roleTerm2 = term2;
}
/**
* Accessor method for the role terms.
*/
public RoleTerm getRoleTermAt(int index) {
switch(index) {
case 0:
return roleTerm1;
case 1:
return roleTerm2;
default:
return null;
}
}
/**
* @see edu.stanford.rt.credential.PrincipalExpression#toString(String)
*/
public String toString(String indent)
{
String thisIndent = indent + " ";
StringBuffer sb = new StringBuffer();
sb.append(thisIndent).append("Linked Role: \n");
sb
.append(thisIndent + " ")
.append(roleTerm1.toString(thisIndent + " "))
.append("\n");
sb
.append(thisIndent + " ")
.append(roleTerm2.toString(thisIndent + " "))
.append("\n");
return sb.toString();
}
}