public class LookupLocator extends Object implements Serializable
LookupLocatorDiscovery
,
ConstrainableLookupLocator
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected String |
host
The name of the host at which to perform discovery.
|
protected int |
port
The port number on the host at which to perform discovery.
|
protected SocketFactory |
sf
The socket factory that this
LookupLocator uses to
create Socket objects. |
Constructor and Description |
---|
LookupLocator(String url)
Construct a new
LookupLocator object, set up to perform
discovery to the given URL. |
LookupLocator(String host,
int port)
Construct a new
LookupLocator object, set to perform unicast
discovery to the input host and port . |
LookupLocator(String host,
int port,
SocketFactory sf)
Construct a new
LookupLocator object, set to perform unicast
discovery to the input host and port using the socketFactory. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o)
Two locators are equal if they have the same
host and
port fields. |
String |
getHost()
Returns the name of the host that this instance should contact.
|
int |
getPort()
Returns the number of the port to which this instance should connect.
|
ServiceRegistrar |
getRegistrar()
Perform unicast discovery and return the ServiceRegistrar
object for the given lookup service.
|
ServiceRegistrar |
getRegistrar(int timeout)
Perform unicast discovery and return the ServiceRegistrar
object for the given lookup service, with the given discovery timeout.
|
int |
hashCode()
Returns a hash code value calculated from the
host and
port field values. |
String |
toString()
Return the string form of this LookupLocator, as a URL of scheme
"jini" . |
protected String host
protected int port
protected SocketFactory sf
LookupLocator
uses to
create Socket
objects.public LookupLocator(String url) throws MalformedURLException
LookupLocator
object, set up to perform
discovery to the given URL. The host
and port
fields will be populated with the host and port
components of the input URL. No host name resolution is attempted.
The syntax of the URL must be that of a hierarchical
URI
with a server-based naming authority.
Requirements for the components are as follows:
"jini"
must be present.
4160
is used.
"/"
; path segments must not be present.
The four allowed forms of the URL are thus:
jini://
host
jini://
host/
jini://
host:
port
jini://
host:
port/
url
- the URL to useMalformedURLException
- url
could not be parsedNullPointerException
- if url
is null
public LookupLocator(String host, int port)
LookupLocator
object, set to perform unicast
discovery to the input host
and port
. The
host
and port
fields will be populated with the
host
and port
arguments. No host name
resolution is attempted.
The host
argument must meet any one of the following syntactical requirements:
host
- the name of the host to contactport
- the number of the port to connect toIllegalArgumentException
- if port
is not between
1 and 65535 (both included) or if host
cannot be parsed.NullPointerException
- if host
is null
public LookupLocator(String host, int port, SocketFactory sf)
LookupLocator
object, set to perform unicast
discovery to the input host
and port
using the socketFactory.
The
host
, port
and sf
fields will be populated with the
host
, port
and sf
arguments. No host name
resolution is attempted.
The host
argument must meet any one of the following syntactical requirements:
host
- the name of the host to contactport
- the number of the port to connect tosf
- the factory to use for creating the socketIllegalArgumentException
- if port
is not between
1 and 65535 (both included) or if host
cannot be parsed.NullPointerException
- if host
is null
public String getHost()
LookupLocator
implements this method to return
the host
field.public int getPort()
LookupLocator
implements this method to return the
port
field.public ServiceRegistrar getRegistrar() throws IOException, ClassNotFoundException
LookupLocator
implements this method to simply invoke
getRegistrar(int)
with a timeout value, which is determined
by the value of the net.jini.discovery.timeout
system
property. If the property is set, is not negative, and can be parsed as
an Integer
, the value of the property is used as the timeout
value. Otherwise, a default value of 60
seconds is assumed.IOException
- an error occurred during discoveryClassNotFoundException
- if a class required to unmarshal the
ServiceRegistrar
proxy cannot be foundpublic ServiceRegistrar getRegistrar(int timeout) throws IOException, ClassNotFoundException
LookupLocator
implements this method to use the values
of the host
and port
field in determining
the host and port to connect to.
If a connection can be established to start unicast discovery but the remote end fails to respond within the given time limit, an exception is thrown.
timeout
- the maximum time to wait for a response, in
milliseconds. A value of 0
specifies an infinite timeout.IOException
- an error occurred during discoveryClassNotFoundException
- if a class required to unmarshal the
ServiceRegistrar
proxy cannot be foundIllegalArgumentException
- if timeout
is negativepublic String toString()
"jini"
.public boolean equals(Object o)
host
and
port
fields. The case of the host
is ignored.
Alternative forms of the same IPv6 addresses for the host
value are treated as being unequal.