public class URIEditor extends 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.
| 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(ClassLoader classLoader)
Create a new URIEditor, using the given ClassLoader to resolve
 "classpath:" locations into physical resource URLs. 
 | 
URIEditor(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 URI | 
createURI(String value)
Create a URI instance for the given (resolved) String value. 
 | 
String | 
getAsText()  | 
void | 
setAsText(String text)  | 
addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, setValue, supportsCustomEditorpublic URIEditor()
public URIEditor(boolean encode)
encode - indicates whether Strings will be encoded or notpublic URIEditor(ClassLoader classLoader)
classLoader - the ClassLoader to use for resolving "classpath:" locations
 (may be null to indicate the default ClassLoader)public URIEditor(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(String text) throws IllegalArgumentException
setAsText in interface PropertyEditorsetAsText in class PropertyEditorSupportIllegalArgumentExceptionprotected URI createURI(String value) throws URISyntaxException
The default implementation encodes the value into a RFC 2396 compliant URI.
value - the value to convert into a URI instanceURISyntaxException - if URI conversion failedpublic String getAsText()
getAsText in interface PropertyEditorgetAsText in class PropertyEditorSupport