Save This Page
Home » apache-ant-1.7.1-src » org.apache.tools » ant » taskdefs » condition » [javadoc | source]
org.apache.tools.ant.taskdefs.condition
public class: IsReachable [javadoc | source]
java.lang.Object
   org.apache.tools.ant.ProjectComponent
      org.apache.tools.ant.taskdefs.condition.IsReachable

All Implemented Interfaces:
    Condition, Cloneable

Test for a host being reachable using ICMP "ping" packets & echo operations. Ping packets are very reliable for assessing reachability in a LAN or WAN, but they do not get through any well-configured firewall. Echo (port 7) may.

This condition turns unknown host exceptions into false conditions. This is because on a laptop, DNS is one of the first services lost when the network goes; you are implicitly offline.

If a URL is supplied instead of a host, the hostname is extracted and used in the test--all other parts of the URL are discarded.

The test may not work through firewalls; that is, something may be reachable using a protocol such as HTTP, while the lower level ICMP packets get dropped on the floor. Similarly, a host may be detected as reachable with ICMP, but not reachable on other ports (i.e. port 80), because of firewalls.

Requires Java1.5+ to work properly. On Java1.4 and earlier, if a hostname can be resolved, the destination is assumed to be reachable.

Field Summary
public static final  int DEFAULT_TIMEOUT    The default timeout. 
public static final  String ERROR_NO_HOSTNAME    Error when no hostname is defined 
public static final  String ERROR_BAD_TIMEOUT    Error when invalid timeout value is defined 
public static final  String ERROR_ON_NETWORK    Network error message is seen. 
public static final  String ERROR_BOTH_TARGETS    Error message when url and host are specified. 
public static final  String MSG_NO_REACHABLE_TEST    Error message when no reachably test avail. 
public static final  String ERROR_BAD_URL    Error message when an invalid url is used. 
public static final  String ERROR_NO_HOST_IN_URL    Error message when no hostname in url. 
public static final  String METHOD_NAME    The method name to look for in InetAddress 
Fields inherited from org.apache.tools.ant.ProjectComponent:
project,  location,  description
Method from org.apache.tools.ant.taskdefs.condition.IsReachable Summary:
eval,   setHost,   setTimeout,   setUrl
Methods from org.apache.tools.ant.ProjectComponent:
clone,   getDescription,   getLocation,   getProject,   log,   log,   setDescription,   setLocation,   setProject
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.tools.ant.taskdefs.condition.IsReachable Detail:
 public boolean eval() throws BuildException 
    Evaluate the condition.
 public  void setHost(String host) 
    Set the host to ping.
 public  void setTimeout(int timeout) 
    Set the timeout for the reachability test in seconds.
 public  void setUrl(String url) 
    Set the URL from which to extract the hostname.