KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > james > services > DNSServer


1 /***********************************************************************
2  * Copyright (c) 2000-2004 The Apache Software Foundation. *
3  * All rights reserved. *
4  * ------------------------------------------------------------------- *
5  * Licensed under the Apache License, Version 2.0 (the "License"); you *
6  * may not use this file except in compliance with the License. You *
7  * may obtain a copy of the License at: *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or *
14  * implied. See the License for the specific language governing *
15  * permissions and limitations under the License. *
16  ***********************************************************************/

17
18 package org.apache.james.services;
19
20 import java.util.Collection JavaDoc;
21 import java.util.Iterator JavaDoc;
22
23 /**
24  * Provides abstraction for DNS resolutions. The interface is Mail specific.
25  * It may be a good idea to make the interface more generic or expose
26  * commonly needed DNS methods.
27  *
28  */

29 public interface DNSServer {
30
31     /**
32      * The component role used by components implementing this service
33      */

34     String JavaDoc ROLE = "org.apache.james.services.DNSServer";
35
36     /**
37      * <p>Get a priority-sorted collection of DNS MX records for a given hostname</p>
38      *
39      * <p>TODO: Change this to a list, as not all collections are sortable</p>
40      *
41      * @param hostname the hostname to check
42      * @return collection of strings representing MX record values.
43      */

44     Collection JavaDoc findMXRecords(String JavaDoc hostname);
45
46
47     /**
48      * Performs DNS lookups as needed to find servers which should or might
49      * support SMTP. Returns one SMTPHostAddresses for each such host
50      * discovered by DNS. If no host is found for domainName, the Iterator
51      * returned will be empty and the first call to hasNext() will return
52      * false.
53      * @param domainName the String domain for which SMTP host addresses are
54      * sought.
55      * @return an Enumeration in which the Objects returned by next()
56      * are instances of SMTPHostAddresses.
57      */

58     Iterator JavaDoc getSMTPHostAddresses(String JavaDoc domainName);
59     
60 }
61
Popular Tags