Class AbstractURIStringLiteralConverter

  • All Implemented Interfaces:
    com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Converter<java.net.URI,​java.lang.String>
    Direct Known Subclasses:
    BaseURIStringLiteralConverter, DefaultURIStringLiteralConverter, PathURIStringLiteralConverter

    public abstract class AbstractURIStringLiteralConverter
    extends AbstractStringLiteralConverter<java.net.URI>
    An abstract converter that converts a URI from and to a string literal, correctly resolving relative URIs. If a base URI is provided, any URI will be resolved to the given base URI. Otherwise, relative URIs are accepted as-is. For example, if relative URIs should be interpreted as path URIs, a base URI of path: should be used.
    Author:
    Garret Wilson
    See Also:
    URI
    • Field Summary

      • Fields inherited from class com.globalmentor.beans.BoundPropertyObject

        NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.net.URI convertLiteral​(java.lang.String literal)
      Converts a literal representation of a value from the lexical space into a value in the value space.
      protected abstract java.net.URI resolveURI​(java.net.URI uri)
      Resolves a converted URI if needed.
      • Methods inherited from class com.globalmentor.beans.BoundPropertyObject

        addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.globalmentor.beans.PropertyBindable

        addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
    • Constructor Detail

      • AbstractURIStringLiteralConverter

        public AbstractURIStringLiteralConverter()
    • Method Detail

      • resolveURI

        protected abstract java.net.URI resolveURI​(java.net.URI uri)
        Resolves a converted URI if needed. If the URI is already absolute, no action occurs.
        Parameters:
        uri - The URI to resolve.
        Returns:
        The URI resolved as needed and as appropriate.
      • convertLiteral

        public java.net.URI convertLiteral​(java.lang.String literal)
                                    throws ConversionException
        Converts a literal representation of a value from the lexical space into a value in the value space.

        This version resolves any URI using resolveURI(URI).

        Parameters:
        literal - The literal value in the lexical space to convert.
        Returns:
        The converted value in the value space, or null if the given literal is null.
        Throws:
        ConversionException - if the literal value cannot be converted.
        See Also:
        resolveURI(URI)