package com.l7tech.message;

import com.l7tech.policy.assertion.xmlsec.XmlSecurityRecipientContext;
import com.l7tech.security.token.SecurityToken;
import com.l7tech.security.xml.WsSecurityVersion;
import com.l7tech.security.xml.decorator.DecorationRequirements;
import com.l7tech.security.xml.decorator.WssDecorator;
import com.l7tech.security.xml.processor.ProcessorException;
import com.l7tech.security.xml.processor.ProcessorResult;
import java.io.IOException;
import java.util.List;
import org.xml.sax.SAXException;

public interface SecurityKnob extends MessageKnob {
   List<SecurityToken> getAllSecurityTokens();

   void addSecurityToken(SecurityToken var1);

   ProcessorResult getProcessorResult();

   ProcessorResult getOrCreateProcessorResult() throws ProcessorException, SAXException, IOException;

   void setProcessorResult(ProcessorResult var1);

   DecorationRequirements[] getDecorationRequirements();

   boolean hasDecorationRequirements();

   DecorationRequirements getOrMakeDecorationRequirements();

   void removeAllDecorationRequirements();

   DecorationRequirements getAlternateDecorationRequirements(XmlSecurityRecipientContext var1);

   boolean hasAlternateDecorationRequirements(XmlSecurityRecipientContext var1);

   WsSecurityVersion getPolicyWssVersion();

   void setPolicyWssVersion(WsSecurityVersion var1);

   void addDecorationResult(WssDecorator.DecorationResult var1);

   List<WssDecorator.DecorationResult> getDecorationResults(String var1);

   List<WssDecorator.DecorationResult> getAllDecorationResults();

   void removeDecorationResults(String var1);

   boolean isSignatureConfirmationValidated();

   void setSignatureConfirmationValidated(boolean var1);

   boolean isNeedsSignatureConfirmations();

   void setNeedsSignatureConfirmations(boolean var1);

   boolean hasWss11Decorations();
}
