package com.sun.identity.saml2.protocol;

import com.sun.identity.saml2.assertion.Issuer;
import com.sun.identity.saml2.common.SAML2Exception;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Date;
import java.util.List;

public interface RequestAbstract {
   void setIssuer(Issuer var1) throws SAML2Exception;

   Issuer getIssuer();

   String getSignature();

   void sign(PrivateKey var1, X509Certificate var2) throws SAML2Exception;

   void setExtensions(Extensions var1) throws SAML2Exception;

   Extensions getExtensions();

   void setID(String var1) throws SAML2Exception;

   String getID();

   void setVersion(String var1) throws SAML2Exception;

   String getVersion();

   void setIssueInstant(Date var1) throws SAML2Exception;

   Date getIssueInstant();

   void setDestination(String var1) throws SAML2Exception;

   String getDestination();

   void setConsent(String var1) throws SAML2Exception;

   String getConsent();

   boolean isSigned();

   boolean isSignatureValid(List<X509Certificate> var1) throws SAML2Exception;

   String toXMLString() throws SAML2Exception;

   String toXMLString(boolean var1, boolean var2) throws SAML2Exception;

   void makeImmutable();

   boolean isMutable();
}
