package eu.aniketos.pdplib; import java.util.Vector; import eu.aniketos.spec.After; import eu.aniketos.spec.Before; import eu.aniketos.spec.Exceptional; import org.jdom.Element; import security.iit.pdp.EnvException; import security.iit.pdp.VarEnvironment; import security.iit.pdp.PDP.WHEN; import eu.aniketos.spec.When; /** * Represents a When tag of the conspec policy * @author Luca * */ public abstract class WhenPDP extends When{ // public Identifier identifier; // public Vector<Parameter> parameters; /* public abstract Element toElement(); public static WhenPDP generateWhen(Element e){ if(e.getName().equals(Tag.before_tag)){ return new Before(e); } else if(e.getName().equals(Tag.after_tag)){ return new After(e); } else if(e.getName().equals(Tag.exceptional_tag)){ return new Exceptional(e); } return null; } */ public static WhenPDP createWhen(When whenTmp){ if(whenTmp instanceof Before){ return new WhenBeforePDP(whenTmp); } else if(whenTmp instanceof After){ return new WhenAfterPDP(whenTmp); } else if(whenTmp instanceof Exceptional){ return new WhenExceptionalPDP(whenTmp); } return null; } public abstract boolean matchWhen(VarEnvironment env, WHEN when, String signature, Object[] parameters, Object returnz) throws EnvException ; }