jasenplugin.java
来自「spam source codejasen-0.9jASEN - java An」· Java 代码 · 共 89 行
JAVA
89 行
/*
* @(#)JasenPlugin.java 28/10/2004
*
* Copyright (c) 2004, 2005 jASEN.org
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the distribution.
*
* 3. The names of the authors may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* 4. Any modification or additions to the software must be contributed back
* to the project.
*
* 5. Any investigation or reverse engineering of source code or binary to
* enable emails to bypass the filters, and hence inflict spam and or viruses
* onto users who use or do not use jASEN could subject the perpetrator to
* criminal and or civil liability.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JASEN.ORG,
* OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package org.jasen.interfaces;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import org.jasen.core.engine.Jasen;
import org.jasen.error.JasenException;
/**
* <P>
* Represents a plugin component to the jASEN engine.
* </P>
* <p>
* Plugins provide all the actual scanning services offered by the engine
* </p>
* <p>
* Implemented plugins MUST be thread safe. Multiple threads may be using the engine concurrently, thus plugins
* MUST NOT maintain state internally.
* </p>
* @author Jason Polites
*/
public interface JasenPlugin
{
/**
* Initialises the plugin with the given properties
* @param properties
* @throws JasenException
*/
public void init(Properties properties) throws JasenException;
/**
* Destroys the plugin. This is called when the core jASEN engine is destroyed
* @throws JasenException
*/
public void destroy() throws JasenException;
/**
* Computess the "spamminess" of a message.
* @param engine A reference to the current engine instance.
* @param rawMessage The original MimeMessage passed to the engine.
* @param parsedMessage The parsed JasenMessage returned from the MimeParser.
* @param data The data returned from the HTML Parser / Tokenizer combination.
* @param parser The parser used to parse mail headers
* @return A JasenTestResult
* @throws JasenException If an error occurs while performing the test
*/
public JasenTestResult test(Jasen engine, MimeMessage rawMessage, JasenMessage parsedMessage, ParserData data, ReceivedHeaderParser parser) throws JasenException;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?