public class URIEditor
extends java.beans.PropertyEditorSupport
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.
URI,
URLEditor| Constructor and Description |
|---|
URIEditor()
Create a new, encoding URIEditor, converting "classpath:" locations into
standard URIs (not trying to resolve them into physical resources).
|
URIEditor(boolean encode)
Create a new URIEditor, converting "classpath:" locations into
standard URIs (not trying to resolve them into physical resources).
|
URIEditor(java.lang.ClassLoader classLoader)
Create a new URIEditor, using the given ClassLoader to resolve
"classpath:" locations into physical resource URLs.
|
URIEditor(java.lang.ClassLoader classLoader,
boolean encode)
Create a new URIEditor, using the given ClassLoader to resolve
"classpath:" locations into physical resource URLs.
|
| Modifier and Type | Method and Description |
|---|---|
protected java.net.URI |
createURI(java.lang.String value)
Create a URI instance for the given (resolved) String value.
|
java.lang.String |
getAsText() |
void |
setAsText(java.lang.String text) |
public URIEditor()
public URIEditor(boolean encode)
encode - indicates whether Strings will be encoded or notpublic URIEditor(java.lang.ClassLoader classLoader)
classLoader - the ClassLoader to use for resolving "classpath:" locations
(may be null to indicate the default ClassLoader)public URIEditor(java.lang.ClassLoader classLoader,
boolean encode)
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 notpublic void setAsText(java.lang.String text)
throws java.lang.IllegalArgumentException
setAsText in interface java.beans.PropertyEditorsetAsText in class java.beans.PropertyEditorSupportjava.lang.IllegalArgumentExceptionprotected java.net.URI createURI(java.lang.String value)
throws java.net.URISyntaxException
The default implementation encodes the value into a RFC 2396 compliant URI.
value - the value to convert into a URI instancejava.net.URISyntaxException - if URI conversion failedpublic java.lang.String getAsText()
getAsText in interface java.beans.PropertyEditorgetAsText in class java.beans.PropertyEditorSupport