Package net.handle.hdllib
Class Resolver
- java.lang.Object
-
- net.handle.hdllib.Resolver
-
public class Resolver extends java.lang.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 Summary
Constructors Constructor Description Resolver()
Construct a Resolver object with the default settings
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
checkAuthentication(AuthenticationInfo authInfo)
Verify that the given authentication object is valid and checks out when tested via handle resolution.void
checkConfiguration()
Check if the configuration file has been modified, and if so, reload itjava.io.File
getConfigFile()
Return the file that contains the XML resolver configurationHandleResolver
getResolver()
Get the underlying resolver being usednet.cnri.simplexml.XTag
getXMLForValue(HandleValue value)
HandleValue[]
resolveHandle(java.lang.String handle)
Resolve the given handleHandleValue[]
resolveHandle(java.lang.String handle, java.lang.String[] typeList)
Resolve the given handle to its values that have the given types.HandleValue[]
resolveHandle(java.lang.String handle, java.lang.String[] typeList, boolean secure)
Resolve the given handle to its values that have the given types.HandleValue[]
resolveHandle(java.lang.String handle, java.lang.String[] typeList, int[] indexes, boolean secure)
Resolve the given handle to its values that have the given types or indexes.java.security.PublicKey[]
resolvePublicKeys(java.lang.String handle)
void
setVerifyMessages(boolean verify)
Set whether or not messages sent through this resolver will require digital signatures on all responses.
-
-
-
Method Detail
-
getConfigFile
public java.io.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(java.lang.String handle) throws HandleException
Resolve the given handle- Throws:
HandleException
-
resolveHandle
public HandleValue[] resolveHandle(java.lang.String handle, java.lang.String[] typeList) throws HandleException
Resolve the given handle to its values that have the given types.- Throws:
HandleException
-
resolveHandle
public HandleValue[] resolveHandle(java.lang.String handle, java.lang.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(java.lang.String handle, java.lang.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 java.security.PublicKey[] resolvePublicKeys(java.lang.String handle) throws HandleException
- Throws:
HandleException
-
getXMLForValue
public net.cnri.simplexml.XTag getXMLForValue(HandleValue value)
-
checkAuthentication
public boolean checkAuthentication(AuthenticationInfo authInfo) throws java.lang.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:
java.lang.Exception
-
-