|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.openxri.http.BaseFetcher
org.openxri.resolve.Resolver
public class Resolver
Field Summary | |
---|---|
protected int |
maxFollowRefs
|
protected int |
maxRequests
|
protected java.net.URI |
proxyURI
|
protected java.util.HashMap |
root
|
Fields inherited from class org.openxri.http.BaseFetcher |
---|
HTTP, HTTPS, maxFollowRedirects, moSocketFactory |
Constructor Summary | |
---|---|
Resolver()
Creates a Resolver object. |
|
Resolver(java.util.Properties properties)
Creates a Resolver object configured by properties. |
Method Summary | |
---|---|
void |
addHttpsBypassAuthority(java.lang.String auth)
Configures the Resolver to bypass HTTPS for the given authorities, while satisfying the https=true requirement. |
protected void |
checkMaxRefs(XRDS xrdsOut,
java.lang.String query,
ResolverState state)
|
protected void |
checkMaxRequests(XRDS xrdsOut,
java.lang.String query,
ResolverState state)
|
java.net.URI |
constructAuthResURI(java.lang.String sepURI,
java.lang.String segment)
|
java.lang.String |
constructURI(java.net.URI sepURI,
java.lang.String append,
XRI qxri)
|
XRD |
createErrorXRD(java.lang.String query,
java.lang.String code,
java.lang.String msg)
|
protected XRDS |
fetchAuthXRDS(XRI qxri,
XRD parent,
java.util.List authResServices,
XRISegment segment,
ResolverFlags flags,
ResolverState state)
Fetches the XRDS document given the authResServices |
protected XRDS |
fetchAuthXRDSHelper(XRI qxri,
java.net.URI uri,
XRD parent,
Service parentService,
XRISegment segment,
ResolverFlags flags,
ResolverState state)
|
protected XRDS |
fetchRedirectXRDS(java.net.URI uri,
XRD parent,
XRI qxri,
ResolverFlags flags,
ResolverState state)
|
XRD |
getAuthority(java.lang.String auth)
Returns the XRD representing the given authority. |
protected java.io.InputStream |
getDataFromURI(java.net.URI uri,
java.lang.String query,
ResolverFlags flags,
ResolverState state)
Gets an InputStream from the URI according the XRI HTTP Bindings. |
java.net.URI |
getProxyURI()
|
boolean |
hasAuthority(java.lang.String auth)
Queries the resolver to see if the given authority has been configured. |
boolean |
isHttpsBypassAuthority(java.lang.String auth)
Tests to see if resolving names at the given authority can bypass HTTPS while satisfying the https=true requirement. |
protected boolean |
isTrustedDescriptor(XRISubSegment subseg,
XRD xrd,
Service parentService)
|
protected XRI |
parseAbsoluteXRI(java.lang.String qxri)
|
protected XRDS |
processRedirects(XRI qxri,
XRD parent,
ResolverFlags flags,
ResolverState state)
|
protected XRDS |
processRefs(XRD parent,
ResolverFlags flags,
ResolverState state)
|
protected java.util.List |
processServiceRefs(XRDS xrdsOut,
Service srv,
XRD parent,
XRI qxri,
java.lang.String sepType,
java.lang.String sepMediaType,
ResolverFlags flags,
ResolverState state)
|
protected XRDS |
readXRDS(java.io.InputStream in)
|
XRDS |
resolveAuthority(XRI qxri,
ResolverFlags flags,
ResolverState state)
Resolve the given qxri according to its type. |
XRDS |
resolveAuthSegment(XRI qxri,
XRD parent,
XRISegment segment,
ResolverFlags flags,
ResolverState state)
Resolve the given authority segment (without root) from the parent (root-authority) XRD. |
XRD |
resolveAuthToXRD(java.lang.String qxri,
TrustType trustType,
boolean followRefs)
Deprecated. |
XRD |
resolveAuthToXRD(java.lang.String qxri,
TrustType trustType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRD |
resolveAuthToXRD(XRI qxri,
ResolverFlags flags,
ResolverState state)
|
XRD |
resolveAuthToXRD(XRI qxri,
TrustType trustType,
boolean followRefs)
Deprecated. |
XRD |
resolveAuthToXRD(XRI qxri,
TrustType trustType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRDS |
resolveAuthToXRDS(java.lang.String qxri,
TrustType trustType,
boolean followRefs)
Deprecated. |
XRDS |
resolveAuthToXRDS(java.lang.String qxri,
TrustType trustType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRDS |
resolveAuthToXRDS(XRI qxri,
ResolverFlags flags,
ResolverState state)
This is the recommended API to use for performing authority resolution an an XRI |
XRDS |
resolveAuthToXRDS(XRI qxri,
TrustType trustType,
boolean followRefs)
Deprecated. |
XRDS |
resolveAuthToXRDS(XRI qxri,
TrustType trustType,
boolean followRefs,
ResolverState state)
Deprecated. |
protected XRDS |
resolveIRIAuth(IRIAuthority iriAuth,
ResolverFlags flags,
ResolverState state)
|
java.lang.String |
resolveSEPToTextURIList(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
java.lang.String |
resolveSEPToTextURIList(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
java.lang.String |
resolveSEPToTextURIList(XRI qxri,
java.lang.String sepType,
java.lang.String sepMediaType,
ResolverFlags flags,
ResolverState state)
|
java.util.ArrayList |
resolveSEPToURIList(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
java.util.ArrayList |
resolveSEPToURIList(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
java.util.ArrayList |
resolveSEPToURIList(XRI qxri,
java.lang.String sepType,
java.lang.String sepMediaType,
ResolverFlags flags,
ResolverState state)
|
java.util.ArrayList |
resolveSEPToURIList(XRI qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
java.util.ArrayList |
resolveSEPToURIList(XRI qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRD |
resolveSEPToXRD(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
XRD |
resolveSEPToXRD(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRD |
resolveSEPToXRD(XRI qxri,
java.lang.String sepType,
java.lang.String sepMediaType,
ResolverFlags flags,
ResolverState state)
|
XRD |
resolveSEPToXRD(XRI qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
XRD |
resolveSEPToXRD(XRI qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRDS |
resolveSEPToXRDS(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
XRDS |
resolveSEPToXRDS(java.lang.String qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
XRDS |
resolveSEPToXRDS(XRI qxri,
java.lang.String sepType,
java.lang.String sepMediaType,
ResolverFlags flags,
ResolverState state)
|
XRDS |
resolveSEPToXRDS(XRI qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs)
Deprecated. |
XRDS |
resolveSEPToXRDS(XRI qxri,
TrustType trustType,
java.lang.String sepType,
java.lang.String sepMediaType,
boolean followRefs,
ResolverState state)
Deprecated. |
protected XRDS |
resolveViaProxy(XRI qxri,
java.lang.String serviceType,
java.lang.String serviceMediaType,
boolean sepSelect,
ResolverFlags flags,
ResolverState state)
|
protected XRDS |
resolveXRIAuth(XRI origQXRI,
XRIAuthority xriAuth,
ResolverFlags flags,
ResolverState state)
|
java.util.List |
selectServiceFromXRD(XRDS xrdsOut,
XRD xrd,
XRI qxri,
java.lang.String sepType,
java.lang.String sepMediaType,
ResolverFlags flags,
ResolverState state)
|
protected java.util.ArrayList |
selectServices(java.util.Vector services,
java.lang.String type,
java.lang.String path,
java.lang.String mediaType,
ResolverFlags flags)
Filter services based on the given type , path
and mediaType criteria and return a prioritized list of services. |
void |
setAuthority(java.lang.String auth,
XRD authXRD)
Configures the Resolver to use the given XRD for the authority. |
void |
setMaxBytesPerRequest(int maxBytesPerRequest)
|
void |
setMaxFollowRefs(int maxFollowRefs)
|
void |
setMaxRequests(int maxRequests)
|
void |
setMaxTotalBytes(int maxTotalBytes)
|
void |
setProxyURI(java.net.URI proxyURI)
|
protected java.lang.String |
verifyCEID(XRI qxri,
XRD xrd,
ResolverFlags flags,
ResolverState state)
|
protected java.lang.String |
verifyCID(XRD prevXRD,
XRD xrd)
|
protected java.lang.String |
verifyRedirectXRD(XRD xrd,
XRD parent)
check that each synonym element in the Redirect xrd is present in the parent |
Methods inherited from class org.openxri.http.BaseFetcher |
---|
getMaxFollowRedirects, getSSLSocketFactory, setMaxFollowRedirects, setSSLSocketFactory |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.HashMap root
protected int maxFollowRefs
protected int maxRequests
protected java.net.URI proxyURI
Constructor Detail |
---|
public Resolver()
public Resolver(java.util.Properties properties) throws java.net.URISyntaxException, java.text.ParseException
java.text.ParseException
java.net.URISyntaxException
Method Detail |
---|
public XRDS resolveAuthToXRDS(XRI qxri, ResolverFlags flags, ResolverState state) throws PartialResolutionException
qxri
- flags
- - ResolverFlagstate
- - ResolverState
PartialResolutionException
public XRD resolveAuthToXRD(XRI qxri, ResolverFlags flags, ResolverState state) throws PartialResolutionException
qxri
- flags
- ResolverFlagsstate
-
PartialResolutionException
public XRDS resolveSEPToXRDS(XRI qxri, java.lang.String sepType, java.lang.String sepMediaType, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRD resolveSEPToXRD(XRI qxri, java.lang.String sepType, java.lang.String sepMediaType, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
public java.util.ArrayList resolveSEPToURIList(XRI qxri, java.lang.String sepType, java.lang.String sepMediaType, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
public java.lang.String resolveSEPToTextURIList(XRI qxri, java.lang.String sepType, java.lang.String sepMediaType, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRDS resolveAuthToXRDS(java.lang.String qxri, TrustType trustType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRDS resolveAuthToXRDS(java.lang.String qxri, TrustType trustType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRDS resolveAuthToXRDS(XRI qxri, TrustType trustType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRDS resolveAuthToXRDS(XRI qxri, TrustType trustType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRD resolveAuthToXRD(java.lang.String qxri, TrustType trustType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRD resolveAuthToXRD(java.lang.String qxri, TrustType trustType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRD resolveAuthToXRD(XRI qxri, TrustType trustType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRD resolveAuthToXRD(XRI qxri, TrustType trustType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRDS resolveSEPToXRDS(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRDS resolveSEPToXRDS(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRDS resolveSEPToXRDS(XRI qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRDS resolveSEPToXRDS(XRI qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRD resolveSEPToXRD(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRD resolveSEPToXRD(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRD resolveSEPToXRD(XRI qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public XRD resolveSEPToXRD(XRI qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public java.util.ArrayList resolveSEPToURIList(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public java.util.ArrayList resolveSEPToURIList(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public java.util.ArrayList resolveSEPToURIList(XRI qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public java.util.ArrayList resolveSEPToURIList(XRI qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public java.lang.String resolveSEPToTextURIList(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs) throws PartialResolutionException
PartialResolutionException
public java.lang.String resolveSEPToTextURIList(java.lang.String qxri, TrustType trustType, java.lang.String sepType, java.lang.String sepMediaType, boolean followRefs, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRDS resolveAuthority(XRI qxri, ResolverFlags flags, ResolverState state) throws PartialResolutionException
qxri
according to its type.
If it is an XRIAuthority, get its first authority XRD and resolve the rest of the segment.
If it is an IRIAuthority, just resolve it directly.
xrdsOut
- qxri
- - QXRI with IRIAuthority or XRIAuthority (GCS or XRef)flags
- - ResolverFlags
PartialResolutionException
protected XRDS resolveXRIAuth(XRI origQXRI, XRIAuthority xriAuth, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected XRDS resolveIRIAuth(IRIAuthority iriAuth, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected XRDS resolveViaProxy(XRI qxri, java.lang.String serviceType, java.lang.String serviceMediaType, boolean sepSelect, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected XRDS processRedirects(XRI qxri, XRD parent, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected java.lang.String verifyCID(XRD prevXRD, XRD xrd)
protected java.lang.String verifyRedirectXRD(XRD xrd, XRD parent)
xrd
- parent
-
protected java.lang.String verifyCEID(XRI qxri, XRD xrd, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected XRDS fetchAuthXRDSHelper(XRI qxri, java.net.URI uri, XRD parent, Service parentService, XRISegment segment, ResolverFlags flags, ResolverState state) throws PartialResolutionException
uri
- parent
- parentService
- segment
- flags
- state
-
PartialResolutionException
protected XRDS fetchAuthXRDS(XRI qxri, XRD parent, java.util.List authResServices, XRISegment segment, ResolverFlags flags, ResolverState state) throws PartialResolutionException
qxri
- parent
- authResServices
- segment
- flags
- state
-
PartialResolutionException
protected void checkMaxRequests(XRDS xrdsOut, java.lang.String query, ResolverState state) throws PartialResolutionException
PartialResolutionException
public XRDS resolveAuthSegment(XRI qxri, XRD parent, XRISegment segment, ResolverFlags flags, ResolverState state) throws PartialResolutionException
parent
(root-authority) XRD. It will follow references if told to do so.
xrdsOut
- - the resulting XRDS document (nested if need be)parent
- segment
- flags
-
true
if the given segment is completely resolved.
PartialResolutionException
protected XRDS processRefs(XRD parent, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected void checkMaxRefs(XRDS xrdsOut, java.lang.String query, ResolverState state)
protected boolean isTrustedDescriptor(XRISubSegment subseg, XRD xrd, Service parentService)
public java.util.List selectServiceFromXRD(XRDS xrdsOut, XRD xrd, XRI qxri, java.lang.String sepType, java.lang.String sepMediaType, ResolverFlags flags, ResolverState state) throws PartialResolutionException
xrd
- qxri
- sepType
- sepMediaType
- flags
- state
-
PartialResolutionException
protected java.util.List processServiceRefs(XRDS xrdsOut, Service srv, XRD parent, XRI qxri, java.lang.String sepType, java.lang.String sepMediaType, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected java.util.ArrayList selectServices(java.util.Vector services, java.lang.String type, java.lang.String path, java.lang.String mediaType, ResolverFlags flags)
services
based on the given type
, path
and mediaType
criteria and return a prioritized list of services.
services
- type
- path
- mediaType
-
protected java.io.InputStream getDataFromURI(java.net.URI uri, java.lang.String query, ResolverFlags flags, ResolverState state) throws XRIResolutionException, java.io.IOException
uri
- -
The URI to get data fromflags
- -
ResolverFlags
XRIResolutionException
- if HTTP response is not OK or Not Found
java.io.IOException
protected XRDS fetchRedirectXRDS(java.net.URI uri, XRD parent, XRI qxri, ResolverFlags flags, ResolverState state) throws PartialResolutionException
PartialResolutionException
protected XRDS readXRDS(java.io.InputStream in) throws XRIResolutionException
XRIResolutionException
public XRD createErrorXRD(java.lang.String query, java.lang.String code, java.lang.String msg)
public java.net.URI constructAuthResURI(java.lang.String sepURI, java.lang.String segment) throws java.net.URISyntaxException
java.net.URISyntaxException
public java.lang.String constructURI(java.net.URI sepURI, java.lang.String append, XRI qxri)
protected XRI parseAbsoluteXRI(java.lang.String qxri)
public void setMaxFollowRefs(int maxFollowRefs)
maxFollowRefs
- The maxFollowRefs to set.public void setMaxRequests(int maxRequests)
maxRequests
- The maxRequests to set.public void setMaxTotalBytes(int maxTotalBytes)
maxTotalBytes
- The maxTotalBytes to set.public void setMaxBytesPerRequest(int maxBytesPerRequest)
maxBytesPerRequest
- The maxBytesPerRequest to set.public boolean hasAuthority(java.lang.String auth)
auth
- - authority to query
public XRD getAuthority(java.lang.String auth)
XRD
representing the given authority.
auth
- - authority to query
public void setAuthority(java.lang.String auth, XRD authXRD)
XRD
for the authority.
auth
- - GCS or Cross Reference authority to configureauthXRD
- - XRD representing the authoritypublic void addHttpsBypassAuthority(java.lang.String auth)
public boolean isHttpsBypassAuthority(java.lang.String auth)
public java.net.URI getProxyURI()
public void setProxyURI(java.net.URI proxyURI)
proxyURI
- The proxyURI to set.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |