Class AbstractURIStringLiteralConverter

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

public abstract class AbstractURIStringLiteralConverter extends AbstractStringLiteralConverter<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:
  • Field Summary

    Fields inherited from class com.globalmentor.beans.BoundPropertyObject

    NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS

    Fields inherited from interface io.guise.framework.converter.Converter

    INVALID_VALUE_MESSAGE_PROPERTY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Converts a literal representation of a value from the lexical space into a value in the value space.
    protected abstract URI
    Resolves a converted URI if needed.

    Methods inherited from class io.guise.framework.converter.AbstractStringLiteralConverter

    convertValue, getInstance

    Methods inherited from class io.guise.framework.converter.AbstractConverter

    getInvalidValueMessage, isEquivalent, isValidLiteral, setInvalidValueMessage

    Methods inherited from class io.guise.framework.event.GuiseBoundPropertyObject

    getSession

    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 io.guise.framework.converter.Converter

    getSession

    Methods inherited from interface com.globalmentor.beans.PropertyBindable

    addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
  • Constructor Details

    • AbstractURIStringLiteralConverter

      public AbstractURIStringLiteralConverter()
  • Method Details

    • resolveURI

      protected abstract URI resolveURI(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 URI convertLiteral(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: