/* * LinkedRole.java */ package edu.stanford.peer.rbtm.credential; import java.util.*; /** * Represent a LinkedRole. */ public class LinkedRole implements EntityExpression { private Role firstRole; private RoleName secondName; public LinkedRole(Role r, RoleName n) { firstRole = r; secondName = n; } public LinkedRole(Role r, String n) { firstRole = r; secondName = new SimpleRoleName(n); } public LinkedRole(Entity issuer, String n1, String n2) { firstRole = new Role(issuer, n1); secondName = new SimpleRoleName(n2); } public LinkedRole(String issuer, String n1, String n2) { firstRole = new Role(issuer, n1); secondName = new SimpleRoleName(n2); } public int hashCode() { return firstRole.hashCode() * 2 + secondName.hashCode(); } public boolean equals(Object o) { return (o instanceof LinkedRole) && firstRole.equals(((LinkedRole)o).firstRole) && secondName.equals(((LinkedRole)o).secondName); } public String toString() { return firstRole.toString() + "." + secondName.toString(); } public Role getFirstRole() { return firstRole; } public RoleName getSecondRoleName() { return secondName; } //public Entity getIssuer() { return (Entity)_names.get(0); } /* public LinkedRole(String[] strs) { _names = new ArrayList(); _names.add(new Entity(strs[0])); for (int i=1; i