- * Evaluates the rule against the given request and message. If an Issuer is
- * returned, the caller is responsible for freeing the Issuer object.
- *
- * @param request the protocol request
- * @param message the incoming message
- * @param metadataProvider locked MetadataProvider instance to authenticate the message
- * @param role identifies the role (generally IdP or SP) of the peer who issued the message
- * @param trustEngine TrustEngine to authenticate the message
- * @return the identity of the message issuer, in two forms, or NULL
- *
- * @throws BindingException thrown if the request/message do not meet the requirements of this rule
+ * Returns the rule's class/type.
+ *
+ * @return the class/type of the object
+ */
+ virtual const char* getType() const=0;
+
+ /**
+ * Evaluates the rule against the given request and message.
+ *
+ * <p>An exception will be raised if the message is invalid according to
+ * a policy rule.
+ *
+ * <p>The return value is used to indicate whether a message was ignored or
+ * successfully processed. A false value signals that the rule wasn't successful
+ * but was also not unsuccessful, because the rule was inapplicable to the message.
+ *
+ * @param message the incoming message
+ * @param request the protocol request
+ * @param policy SecurityPolicy to provide various components and track message data
+ * @return indicator as to whether a message was understood and processed