java.lang.Object
java.beans.PropertyEditorSupport
org.springframework.beans.propertyeditors.URIEditor
All Implemented Interfaces:
PropertyEditor

public class URIEditor extends PropertyEditorSupport
Editor for java.net.URI, to directly populate a URI property instead of using a String property as bridge.

Supports Spring-style URI notation: any fully qualified standard URI ("file:", "http:", etc) and Spring's special "classpath:" pseudo-URL, which will be resolved to a corresponding URI.

By default, this editor will encode Strings into URIs. For instance, a space will be encoded into %20. This behavior can be changed by calling the URIEditor(boolean) constructor.

Note: A URI is more relaxed than a URL in that it does not require a valid protocol to be specified. Any scheme within a valid URI syntax is allowed, even without a matching protocol handler being registered.

Since:
2.0.2
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • URIEditor

      public URIEditor()
      Create a new, encoding URIEditor, converting "classpath:" locations into standard URIs (not trying to resolve them into physical resources).
    • URIEditor

      public URIEditor(boolean encode)
      Create a new URIEditor, converting "classpath:" locations into standard URIs (not trying to resolve them into physical resources).
      Parameters:
      encode - indicates whether Strings will be encoded or not
      Since:
      3.0
    • URIEditor

      public URIEditor(@Nullable ClassLoader classLoader)
      Create a new URIEditor, using the given ClassLoader to resolve "classpath:" locations into physical resource URLs.
      Parameters:
      classLoader - the ClassLoader to use for resolving "classpath:" locations (may be null to indicate the default ClassLoader)
    • URIEditor

      public URIEditor(@Nullable ClassLoader classLoader, boolean encode)
      Create a new URIEditor, using the given ClassLoader to resolve "classpath:" locations into physical resource URLs.
      Parameters:
      classLoader - the ClassLoader to use for resolving "classpath:" locations (may be null to indicate the default ClassLoader)
      encode - indicates whether Strings will be encoded or not
      Since:
      3.0
  • Method Details