Module jcifs

Class UniAddress

java.lang.Object
org.codelibs.jcifs.smb1.UniAddress

public class UniAddress extends Object

Under normal conditions it is not necessary to use this class to use jCIFS properly. Name resolusion is handled internally to the org.codelibs.jcifs.smb1.smb1 package.

This class is a wrapper for both NbtAddress and InetAddress. The name resolution mechanisms used will systematically query all available configured resolution services including WINS, broadcasts, DNS, and LMHOSTS. See Setting Name Resolution Properties and the org.codelibs.jcifs.smb1.resolveOrder property. Changing jCIFS name resolution properties can greatly affect the behavior of the client and may be necessary for proper operation.

This class should be used in favor of InetAddress to resolve hostnames on LANs and WANs that support a mixture of NetBIOS/WINS and DNS resolvable hosts.

  • Constructor Details

    • UniAddress

      public UniAddress(Object addr)
      Create a UniAddress by wrapping an InetAddress or NbtAddress.
      Parameters:
      addr - the address to wrap
  • Method Details

    • getByName

      public static UniAddress getByName(String hostname) throws UnknownHostException
      Determines the address of a host given its host name.
      Parameters:
      hostname - the hostname to resolve
      Returns:
      the resolved UniAddress
      Throws:
      UnknownHostException - if the host cannot be resolved
    • getByName

      public static UniAddress getByName(String hostname, boolean possibleNTDomainOrWorkgroup) throws UnknownHostException
      Lookup hostname and return it's UniAddress. If the possibleNTDomainOrWorkgroup parameter is true an addtional name query will be performed to locate a master browser.
      Parameters:
      hostname - the hostname to resolve
      possibleNTDomainOrWorkgroup - whether to perform additional name query for master browser
      Returns:
      the resolved UniAddress
      Throws:
      UnknownHostException - if the host cannot be resolved
    • getAllByName

      public static UniAddress[] getAllByName(String hostname, boolean possibleNTDomainOrWorkgroup) throws UnknownHostException
      Resolves all addresses for the given hostname.
      Parameters:
      hostname - the hostname to resolve
      possibleNTDomainOrWorkgroup - whether to perform additional name query for master browser
      Returns:
      array of resolved UniAddress instances
      Throws:
      UnknownHostException - if the host cannot be resolved
    • hashCode

      public int hashCode()
      Return the IP address of this address as a 32 bit integer.
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Compare two addresses for equality. Two UniAddresss are equal if they are both UniAddress' and refer to the same IP address.
      Overrides:
      equals in class Object
    • firstCalledName

      public String firstCalledName()
      Guess first called name to try for session establishment. This method is used exclusively by the org.codelibs.jcifs.smb1.smb1 package.
      Returns:
      the first called name to try
    • nextCalledName

      public String nextCalledName()
      Guess next called name to try for session establishment. This method is used exclusively by the org.codelibs.jcifs.smb1.smb1 package.
      Returns:
      the next called name to try
    • getAddress

      public Object getAddress()
      Return the underlying NbtAddress or InetAddress.
      Returns:
      the underlying address object
    • getHostName

      public String getHostName()
      Return the hostname of this address such as "MYCOMPUTER".
      Returns:
      the hostname of this address
    • getHostAddress

      public String getHostAddress()
      Return the IP address as text such as "192.168.1.15".
      Returns:
      the IP address as a string
    • toString

      public String toString()
      Return the a text representation of this address such as MYCOMPUTER/192.168.1.15.
      Overrides:
      toString in class Object