LocalHostStartupAddressChecker.java
package com.ziesemer.utils.web.addressFilter.conditions;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Set;
/**
* @author Mark A. Ziesemer
* <a href="http://www.ziesemer.com."><www.ziesemer.com></a>
*/
public class LocalHostStartupAddressChecker implements IAddressChecker{
protected final Set<InetAddress> localAddresses;
public LocalHostStartupAddressChecker() throws Exception{
localAddresses = new HashSet<InetAddress>();
for(final Enumeration<NetworkInterface> nie = NetworkInterface.getNetworkInterfaces(); nie.hasMoreElements();){
final NetworkInterface ni = nie.nextElement();
for(final Enumeration<InetAddress> iae = ni.getInetAddresses(); iae.hasMoreElements();){
localAddresses.add(iae.nextElement());
}
}
}
public boolean matches(final InetAddress ip, final String hostName) throws Exception{
return localAddresses.contains(ip);
}
/**
* <p>
* Returns a read-only view of the addresses checked against, primarily for unit testing.
* </p>
*/
public Set<InetAddress> getLocalAddresses(){
return Collections.unmodifiableSet(localAddresses);
}
}