| ServiceBinding.java |
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.services.binding;
import java.net.InetAddress;
import java.net.UnknownHostException;
/** A ServiceBinding is a {name,virtualHost,port,interfaceAddress}
* quad specifying a named binding for a service.
*
* @author <a href="mailto:bitpushr@rochester.rr.com">Mike Finn</a>.
* @author Scott.Stark@jboss.org
* @version $Revision: 1.2 $
*/
public class ServiceBinding implements Cloneable
{
/** The name of the binding. A null or empty name implies the default
binding for a service.
*/
private String name = null;
/** The virtual host name. This is the interface name used to
construct the bindAddress value. A null value implies bind on any
interface.
*/
private String hostName = null;
/** The port the service should listen on. A 0 value implies an
anonymous port.
*/
private int port = 0;
/** The interface on which the service should bind its listening port. A
null address implies bind on any interface.
*/
private InetAddress bindAddress = null;
/** Make a copy of the ServiceBinding
*/
public Object clone()
{
Object copy = null;
try
{
copy = super.clone();
}
catch(CloneNotSupportedException cantHappend)
{
}
return copy;
}
/**
* Creates a new instance of ServiceDescriptor
*
* @param name The name of the binding. A null or empty name
* implies that default binding for a service.
* @param hostName The virtual host name. This is the interface name used to
* construct the bindAddress value. A null value implies bind on any
* interface.
* @param port The port the service should listen on. A 0 value implies an
* anonymous port.
*
* @exception UnknownHostException If hostName is not resolvable.
*/
public ServiceBinding(String name, String hostName, int port)
throws UnknownHostException
{
this.setName(name);
this.setHostName(hostName);
this.setBindAddress(hostName);
this.setPort(port);
}
/**
* Getter for property name.
*
* @return The name of the binding
*/
public String getName()
{
return this.name;
}
/**
* Setter for property name.
*
* @param name the name of the binding
*/
public void setName(String name)
{
this.name = name;
}
/**
* Sets the bindAddress attribute of the ServiceDescriptor object
*
* @param pInetAddr The new bindAddress value
*/
public void setBindAddress(InetAddress bindAddress)
{
this.bindAddress = bindAddress;
}
/**
* Sets the bindAddress, given a hostname
*
* @param pHostName The hostname with which to create an InetAddress
*
* @exception UnknownHostException Hostname is not resolvable
*/
public void setBindAddress(String hostName)
throws UnknownHostException
{
this.bindAddress = InetAddress.getByName(hostName);
}
/**
* Gets the bindAddress attribute of the ServiceDescriptor object
*
* @return The listen address
*/
public InetAddress getBindAddress()
{
return this.bindAddress;
}
/**
* Sets the port attribute of the ServiceDescriptor object
*
* @param pPort The new listen port number
*/
public void setPort(int port)
{
this.port = port;
}
/**
* Gets the port attribute of the ServiceDescriptor object
*
* @return The listen port number
*/
public int getPort()
{
return this.port;
}
/**
* Returns host name
*
* @return the hostname or address
*/
public String getHostName()
{
return this.hostName;
}
/**
* Sets the host name
*
* @param hostName, the hostname or address
*/
public void setHostName(String hostName)
{
this.hostName = hostName;
}
/**
* Create string representation of the service descriptor
*
* @return String containing service descriptor properties
*/
public String toString()
{
StringBuffer sBuf = new StringBuffer("ServiceBinding [name=");
String host = getHostName();
if (hostName == null)
{
host = "<ANY>";
}
sBuf.append(this.getName());
sBuf.append(";hostName=");
sBuf.append(host);
sBuf.append(";bindAddress=");
sBuf.append(this.getBindAddress().toString());
sBuf.append(";port=");
sBuf.append(this.getPort());
sBuf.append("]");
return sBuf.toString();
}
}
| ServiceBinding.java |