001/* 002 * Copyright 2015-2024 the original author or authors 003 * 004 * This software is licensed under the Apache License, Version 2.0, 005 * the GNU Lesser General Public License version 2 or later ("LGPL") 006 * and the WTFPL. 007 * You may choose either license to govern your use of this software only 008 * upon the condition that you accept all of the terms of either 009 * the Apache License 2.0, the LGPL 2.1+ or the WTFPL. 010 */ 011package org.minidns.dnsserverlookup; 012 013import java.util.List; 014 015public interface DnsServerLookupMechanism extends Comparable<DnsServerLookupMechanism> { 016 017 String getName(); 018 019 int getPriority(); 020 021 boolean isAvailable(); 022 023 /** 024 * Returns a List of String representing ideally IP addresses. The list must be modifiable. 025 * <p> 026 * Note that the lookup mechanisms are not required to assure that only IP addresses are returned. This verification is performed in 027 * when using {@link org.minidns.DnsClient#findDNS()}. 028 * </p> 029 * 030 * @return a List of Strings presenting hopefully IP addresses. 031 */ 032 List<String> getDnsServerAddresses(); 033 034}