Class Resolver

java.lang.Object
net.handle.hdllib.Resolver

public class Resolver extends Object
Class used for high level interaction with handles. Configuration information for this resolver is located in the .handle/resolver.xml file under the home directory of the user running this code as determined by the user.home system property. The following is an example of an override in the resolver.xml file:

 <hsconfig>
  <local_handles>
   <handle handle="200/0"
     case_sensitive="false"
     override_type="on_failure"  <!-- could also be "always" - determines when the override is applied -->
     >
    <hdlvalue
      type="URL"  <!-- default is empty -->
      admin_read="true"
      admin_write="true"
      public_read="true"
      public_write="false"
      ttl="86400"
      ttl_type="relative" <!-- could also be "absolute" -->
      encoding="text"  <!-- encoding for data value; could also be "hex" -->
      >
      http://www.handle.net/
    </hdlvalue>
   </handle>
  </local_handles>
 </hsconfig>
 
  • Constructor Details

    • Resolver

      public Resolver()
      Construct a Resolver object with the default settings
  • Method Details

    • getConfigFile

      public File getConfigFile()
      Return the file that contains the XML resolver configuration
    • checkConfiguration

      public void checkConfiguration()
      Check if the configuration file has been modified, and if so, reload it
    • resolveHandle

      public HandleValue[] resolveHandle(String handle) throws HandleException
      Resolve the given handle
      Throws:
      HandleException
    • resolveHandle

      public HandleValue[] resolveHandle(String handle, String[] typeList) throws HandleException
      Resolve the given handle to its values that have the given types.
      Throws:
      HandleException
    • resolveHandle

      public HandleValue[] resolveHandle(String handle, String[] typeList, boolean secure) throws HandleException
      Resolve the given handle to its values that have the given types. If the secure value is true then ensure the resolution can be trusted using digital signatures.
      Throws:
      HandleException
    • resolveHandle

      public HandleValue[] resolveHandle(String handle, String[] typeList, int[] indexes, boolean secure) throws HandleException
      Resolve the given handle to its values that have the given types or indexes. If the secure value is true then ensure the resolution can be trusted using digital signatures.
      Throws:
      HandleException
    • setVerifyMessages

      public void setVerifyMessages(boolean verify)
      Set whether or not messages sent through this resolver will require digital signatures on all responses.
    • getResolver

      public HandleResolver getResolver()
      Get the underlying resolver being used
    • resolvePublicKeys

      public PublicKey[] resolvePublicKeys(String handle) throws HandleException
      Throws:
      HandleException
    • getXMLForValue

      public XTag getXMLForValue(HandleValue value)
    • checkAuthentication

      public boolean checkAuthentication(AuthenticationInfo authInfo) throws Exception
      Verify that the given authentication object is valid and checks out when tested via handle resolution. This performs the same verification procedure as a server in order to verify that the entity that is authenticating with the given object is who they claim to be.
      Throws:
      Exception