| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.tools.ant.ProjectComponent
org.apache.tools.ant.taskdefs.condition.IsReachable
public class IsReachable
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 Java 5+ to work properly. On Java 1.4, if a hostname can be resolved, the destination is assumed to be reachable.
| Field Summary | |
|---|---|
| static int | DEFAULT_TIMEOUTThe default timeout. | 
| static java.lang.String | ERROR_BAD_TIMEOUTError when invalid timeout value is defined | 
| static java.lang.String | ERROR_BAD_URLError message when an invalid url is used. | 
| static java.lang.String | ERROR_BOTH_TARGETSError message when url and host are specified. | 
| static java.lang.String | ERROR_NO_HOST_IN_URLError message when no hostname in url. | 
| static java.lang.String | ERROR_NO_HOSTNAMEError when no hostname is defined | 
| static java.lang.String | ERROR_ON_NETWORKNetwork error message is seen. | 
| static java.lang.String | METHOD_NAMEThe method name to look for in InetAddress | 
| static java.lang.String | MSG_NO_REACHABLE_TESTError message when no reachably test avail. | 
| Fields inherited from class org.apache.tools.ant.ProjectComponent | 
|---|
| description, location, project | 
| Constructor Summary | |
|---|---|
| IsReachable() | |
| Method Summary | |
|---|---|
|  boolean | eval()Evaluate the condition. | 
|  void | setHost(java.lang.String host)Set the host to ping. | 
|  void | setTimeout(int timeout)Set the timeout for the reachability test in seconds. | 
|  void | setUrl(java.lang.String url)Set the URL from which to extract the hostname. | 
| Methods inherited from class org.apache.tools.ant.ProjectComponent | 
|---|
| clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final int DEFAULT_TIMEOUT
public static final java.lang.String ERROR_NO_HOSTNAME
public static final java.lang.String ERROR_BAD_TIMEOUT
public static final java.lang.String ERROR_ON_NETWORK
public static final java.lang.String ERROR_BOTH_TARGETS
public static final java.lang.String MSG_NO_REACHABLE_TEST
public static final java.lang.String ERROR_BAD_URL
public static final java.lang.String ERROR_NO_HOST_IN_URL
public static final java.lang.String METHOD_NAME
| Constructor Detail | 
|---|
public IsReachable()
| Method Detail | 
|---|
public void setHost(java.lang.String host)
host - the host to ping.public void setUrl(java.lang.String url)
url - a URL object.public void setTimeout(int timeout)
timeout - the timeout in seconds.
public boolean eval()
             throws BuildException
eval in interface ConditionBuildException - if an error occurs| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||