Author: bago Date: Fri Jan 21 11:06:06 2011 New Revision: 1061734 URL: http://svn.apache.org/viewvc?rev=1061734&view=rev Log: Add generic dns lookup support to MailetContext (MAILET-30)
Added: james/mailet/api/trunk/src/main/java/org/apache/mailet/LookupException.java (with props) james/mailet/api/trunk/src/main/java/org/apache/mailet/TemporaryLookupException.java (with props) Modified: james/mailet/api/trunk/src/main/java/org/apache/mailet/MailetContext.java Added: james/mailet/api/trunk/src/main/java/org/apache/mailet/LookupException.java URL: http://svn.apache.org/viewvc/james/mailet/api/trunk/src/main/java/org/apache/mailet/LookupException.java?rev=1061734&view=auto ============================================================================== --- james/mailet/api/trunk/src/main/java/org/apache/mailet/LookupException.java (added) +++ james/mailet/api/trunk/src/main/java/org/apache/mailet/LookupException.java Fri Jan 21 11:06:06 2011 @@ -0,0 +1,45 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ +package org.apache.mailet; + +import java.io.IOException; + +/** + * Defines a general exception raised by the MailetContext dns lookup methods. + * + * @since Mailet API v2.5 + */ +public class LookupException extends IOException { + + private static final long serialVersionUID = -2016705390234811363L; + + /** + * Constructs a new lookup exception. + */ + public LookupException() { + super(); + } + + /** + * Constructs a new lookup exception with the specified message. + */ + public LookupException(String message) { + super(message); + } +} Propchange: james/mailet/api/trunk/src/main/java/org/apache/mailet/LookupException.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: james/mailet/api/trunk/src/main/java/org/apache/mailet/MailetContext.java URL: http://svn.apache.org/viewvc/james/mailet/api/trunk/src/main/java/org/apache/mailet/MailetContext.java?rev=1061734&r1=1061733&r2=1061734&view=diff ============================================================================== --- james/mailet/api/trunk/src/main/java/org/apache/mailet/MailetContext.java (original) +++ james/mailet/api/trunk/src/main/java/org/apache/mailet/MailetContext.java Fri Jan 21 11:06:06 2011 @@ -22,6 +22,7 @@ package org.apache.mailet; import java.util.Collection; import java.util.Iterator; +import java.util.List; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; @@ -58,8 +59,7 @@ public interface MailetContext { /** * Loglevel for logging operations - * - * + * @since Mailet API v2.5 */ public enum LogLevel { DEBUG, @@ -69,6 +69,14 @@ public interface MailetContext { } /** + * DNS Record Types for lookup operations + * @since Mailet API v2.5 + */ + public enum RecordType { + A, AAAA, PTR, MX, TXT, SPF + } + + /** * Returns the major version number of the Mailet API that this mailet * container supports. For example, if the mailet container supports * version 1.2 of the Mailet API, this method returns 1. @@ -348,4 +356,16 @@ public interface MailetContext { void bounce(Mail mail, String message, MailAddress bouncer) throws MessagingException; + /** + * Lookups the DNS system for a given record type. + * + * @param name the host/domain name to lookup + * @param type the "IN" record type to lookup + * @return a String list with result records with at least 1 element. + * @throws TemporaryLookupException on timeout or servfail + * @throws LookupException on host not found, record type not found, name syntax issues and other permanent exceptions. + * + * @since Mailet API v2.5 + */ + List<String> dnsLookup(String name, RecordType type) throws TemporaryLookupException, LookupException; } Added: james/mailet/api/trunk/src/main/java/org/apache/mailet/TemporaryLookupException.java URL: http://svn.apache.org/viewvc/james/mailet/api/trunk/src/main/java/org/apache/mailet/TemporaryLookupException.java?rev=1061734&view=auto ============================================================================== --- james/mailet/api/trunk/src/main/java/org/apache/mailet/TemporaryLookupException.java (added) +++ james/mailet/api/trunk/src/main/java/org/apache/mailet/TemporaryLookupException.java Fri Jan 21 11:06:06 2011 @@ -0,0 +1,44 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ +package org.apache.mailet; + + +/** + * Defines a general exception raised by the MailetContext dns lookup methods. + * + * @since Mailet API v2.5 + */ +public class TemporaryLookupException extends LookupException { + + private static final long serialVersionUID = 6732299701194103662L; + + /** + * Constructs a new lookup exception. + */ + public TemporaryLookupException() { + super(); + } + + /** + * Constructs a new lookup exception with the specified message. + */ + public TemporaryLookupException(String message) { + super(message); + } +} Propchange: james/mailet/api/trunk/src/main/java/org/apache/mailet/TemporaryLookupException.java ------------------------------------------------------------------------------ svn:mime-type = text/plain