The Spring Framework

org.springframework.beans.propertyeditors
Class URIEditor

java.lang.Object
  extended by java.beans.PropertyEditorSupport
      extended by 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.

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 java.net.URI is only available on JDK 1.4 or higher, this editor is only available on JDK 1.4 or higher as well.

Since:
2.0.2
Author:
Juergen Hoeller
See Also:
URI, URLEditor

Constructor Summary
URIEditor()
          Create a new URIEditor, using the default ClassLoader for "classpath:" resources.
URIEditor(ClassLoader classLoader)
          Create a new URIEditor, using the given ClassLoader for "classpath:" resources.
 
Method Summary
protected  URI createURI(String value)
          Create a URI instance for the given (resolved) String value.
 String getAsText()
           
 void setAsText(String text)
           
 
Methods inherited from class java.beans.PropertyEditorSupport
addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, setValue, supportsCustomEditor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

URIEditor

public URIEditor()
Create a new URIEditor, using the default ClassLoader for "classpath:" resources.


URIEditor

public URIEditor(ClassLoader classLoader)
Create a new URIEditor, using the given ClassLoader for "classpath:" resources.

Parameters:
classLoader - the ClassLoader to use
Method Detail

setAsText

public void setAsText(String text)
               throws IllegalArgumentException
Specified by:
setAsText in interface PropertyEditor
Overrides:
setAsText in class PropertyEditorSupport
Throws:
IllegalArgumentException

createURI

protected URI createURI(String value)
                 throws URISyntaxException
Create a URI instance for the given (resolved) String value.

The default implementation uses the URI(String) constructor, replacing spaces with "%20" quotes first.

Parameters:
value - the value to convert into a URI instance
Returns:
the URI instance
Throws:
URISyntaxException - if URI conversion failed

getAsText

public String getAsText()
Specified by:
getAsText in interface PropertyEditor
Overrides:
getAsText in class PropertyEditorSupport

The Spring Framework

Copyright © 2002-2007 The Spring Framework.