Creates a reference instance for the parsed value. Implementations might support special support for specific classes. As an default the {@link Object#toString()} method is used to get the unicode representationof the reference.
Implementation MUST support at least the following types:
- {@link String}: The parsed string need not be be checked for a valid IRI, URI or URL in any form. However in case of an empty String a {@link IllegalArgumentException} MUST BE thrown)
- {@link URI}: Any valid URI MUST BE accepted
- {@link URL}: any valid URL MUST BE accepted
@param value the unicode representation of the reference
@return the reference instance
@throws UnsupportedTypeException if the type of the parsed object cannot be converted to a Reference.
@throws IllegalArgumentException if the parsed value is
null
or if the parsed value can not be used to create a valid Reference (e.g. when parsing an empty String)