Package org.apache.sis.xml
Class XLink
Object
XLink
- All Implemented Interfaces:
- Serializable
The XML attributes defined by OGC in the
 xlink schema.
 The allowed combinations of any one attribute depend on the value of the special
 
 
 When 
type attribute. Following is a summary of the element types
 (columns) on which the global attributes (rows) are allowed, with an indication
 of whether a value is required (R) or optional (O)
 (Source: W3C):
 | simple | extended | locator | arc | resource | title | |
|---|---|---|---|---|---|---|
| type | R | R | R | R | R | R | 
| href | O | R | ||||
| role | O | O | O | O | ||
| arcrole | O | O | ||||
| title | O | O | O | O | O | |
| show | O | O | ||||
| actuate | O | O | ||||
| label | O | O | ||||
| from | O | |||||
| to | O | 
xlink attributes are found at unmarshalling time instead of an object definition,
 those attributes are given to the ReferenceResolver.resolve(MarshalContext, Class, XLink)
 method. Users can override that method in order to fetch an instance in some catalog for the given
 xlink values.- Since:
- 0.3
- See Also:
Defined in the sis-metadata module
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic enumCommunicates the desired timing of traversal from the starting resource to the ending resource.static enumCommunicates the desired presentation of the ending resource on traversal from the starting resource.static enumThe type of axlink.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbooleanCompares thisXLinkwith the given object for equality.voidfreeze()Marks thisxlinkas unmodifiable.Returns the desired timing of traversal from the starting resource to the ending resource.Returns a URI reference for some description of the arc role.getFrom()Returns the starting resource.getHRef()Returns a URN to an external resources, or to another part of a XML document, or an identifier.Returns an identification of the target of afromortoattribute.getRole()Returns a URI reference for some description of the arc role.getShow()Returns the desired presentation of the ending resource on traversal from the starting resource.Returns a human-readable string with a short description for the arc.getTo()Returns the ending resource.getType()Returns the type of link.intReturns a hash code value for this XLink.voidsetActuate(XLink.Actuate actuate) Sets the desired timing of traversal from the starting resource to the ending resource.voidsetArcRole(URI arcrole) Sets a URI reference for some description of the arc role.voidSets the starting resource.voidSets the URN to a resources.voidSets an identification of the target of afromortoattribute.voidSets the URI reference for some description of the arc role.voidsetShow(XLink.Show show) Sets the desired presentation of the ending resource on traversal from the starting resource.voidsetTitle(InternationalString title) Sets a human-readable string with a short description for the arc.voidSets the ending resource.voidsetType(XLink.Type type) Sets the type of link.Returns a string representation of this object.
- 
Constructor Details- 
XLinkpublic XLink()Creates a new link. The initial value of all attributes isnull.
- 
XLinkCreates a new link as a copy of the given link.- Parameters:
- link- The link to copy, or- nullif none.
 
 
- 
- 
Method Details- 
getTypeReturns the type of link. May have one of the following values:- simple: a simple link
- extended: an extended, possibly multi-resource, link
- locator: a pointer to an external resource
- resource: an internal resource
- arc: a traversal rule between resources
- title: a descriptive title for another linking element
 null. If thesetType(XLink.Type)method has been invoked with theAUTOenum, then this method will infer a type from the attributes having a non-null value.- Returns:
- the type of link, or null.
 
- 
setTypeSets the type of link. Any value different thanType.AUTO(includingnull) will overwrite the value inferred automatically bygetType(). AAUTOvalue will enable automatic type detection.- Parameters:
- type- the new type of link, or- nullif none.
 
- 
getHRefReturns a URN to an external resources, or to another part of a XML document, or an identifier.- Returns:
- a URN to a resources, or nullif none.
 
- 
setHRefSets the URN to a resources.- Parameters:
- href- a URN to a resources, or- nullif none.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "href"attribute.
 
- 
getRoleReturns a URI reference for some description of the arc role.- Returns:
- a URI reference for some description of the arc role, or nullif none.
 
- 
setRoleSets the URI reference for some description of the arc role.- Parameters:
- role- a URI reference for some description of the arc role, or- nullif none.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "role"attribute.
 
- 
getArcRoleReturns a URI reference for some description of the arc role.- Returns:
- a URI reference for some description of the arc role, or nullif none.
 
- 
setArcRoleSets a URI reference for some description of the arc role.- Parameters:
- arcrole- a URI reference for some description of the arc role, or- nullif none.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "arcrole"attribute.
 
- 
getTitleReturns a human-readable string with a short description for the arc.- Returns:
- a human-readable string with a short description for the arc, or nullif none.
 
- 
setTitleSets a human-readable string with a short description for the arc.- Parameters:
- title- a human-readable string with a short description for the arc, or- nullif none.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "title"attribute.
 
- 
getShowReturns the desired presentation of the ending resource on traversal from the starting resource. It's value should be treated as follows:- new: load ending resource in a new window, frame, pane, or other presentation context
- replace: load the resource in the same window, frame, pane, or other presentation context
- embed: load ending resource in place of the presentation of the starting resource
- other: behavior is unconstrained; examine other markup in the link for hints
- none: behavior is unconstrained
 - Returns:
- the desired presentation of the ending resource, or nullif unspecified.
 
- 
setShowSets the desired presentation of the ending resource on traversal from the starting resource.- Parameters:
- show- the desired presentation of the ending resource, or- nullif unspecified.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "show"attribute.
 
- 
getActuateReturns the desired timing of traversal from the starting resource to the ending resource. It's value should be treated as follows:- onLoad: traverse to the ending resource immediately on loading the starting resource
- onRequest: traverse from the starting resource to the ending resource only on a post-loading event triggered for this purpose
- other: behavior is unconstrained; examine other markup in link for hints
- none: behavior is unconstrained
 - Returns:
- the desired timing of traversal from the starting resource to the ending resource,
         or nullif unspecified.
 
- 
setActuateSets the desired timing of traversal from the starting resource to the ending resource.- Parameters:
- actuate- the desired timing of traversal from the starting resource to the ending resource, or- nullif unspecified.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "actuate"attribute.
 
- 
getLabelReturns an identification of the target of afromortoattribute.- Returns:
- an identification of the target of a fromortoattribute, ornull.
 
- 
setLabelSets an identification of the target of afromortoattribute.- Parameters:
- label- an identification of the target of a- fromor- toattribute, or- null.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "label"attribute.
 
- 
getFromReturns the starting resource. The value must correspond to the same value for somelabelattribute.- Returns:
- the starting resource, or null.
 
- 
setFromSets the starting resource. The value must correspond to the same value for somelabelattribute.- Parameters:
- from- the starting resource, or- null.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "from"attribute.
 
- 
getToReturns the ending resource. The value must correspond to the same value for somelabelattribute.- Returns:
- the ending resource, or null.
 
- 
setToSets the ending resource. The value must correspond to the same value for somelabelattribute.- Parameters:
- to- the ending resource, or- null.
- Throws:
- UnsupportedOperationException- if this- xlinkis unmodifiable.
- IllegalStateException- if the link type has been explicitly set. and that type does not allow the- "to"attribute.
 
- 
freezepublic void freeze()Marks thisxlinkas unmodifiable. After this method call, any call to a setter method will throw anUnsupportedOperationException.After the first call to this method, any subsequent calls have no effect. 
- 
equalsCompares thisXLinkwith the given object for equality.
- 
hashCodepublic int hashCode()Returns a hash code value for this XLink.
- 
toStringReturns a string representation of this object. The default implementation returns the simple class name followed by non-null attributes, as in the example below:XLink[type="locator", href="urn:ogc:def:method:EPSG::4326"] 
 
-