package com.nailabs.abac.trust; import com.nailabs.abac.process.*; import edu.stanford.peer.rbtm.credential.*; import java.util.*; /** * An interface for representing either a trust target or linking goal. Both * subclasses contain a verifier and subject. Target expressions are extended * uniquely. */ public abstract class Goal implements java.io.Serializable { /** The verifier of this trust target */ protected Entity verifier; /** The subject expression of this trust target */ protected EntityExpression subject; /** accessor method for the subject of this trust target */ public EntityExpression getSubject() { return subject; } /** accessor method for the verifier of this target */ public Entity getVerifier() { return verifier; } /** processing state for a node repsenting this goal is added to a TTG */ public abstract ProcessingState getInitialProcessingState(NegotiationContext ctx); /** convert this goal into an XML formatted string */ public abstract String toXML(); /** a string representing the type of the goal */ public abstract String getType(); }