org.springframework.core.io
Class ResourceEditor

java.lang.Object
  extended by java.beans.PropertyEditorSupport
      extended by org.springframework.core.io.ResourceEditor
All Implemented Interfaces:
PropertyEditor

public class ResourceEditor
extends PropertyEditorSupport

Editor for Resource descriptors, to automatically convert String locations e.g. file:C:/myfile.txt or classpath:myfile.txt to Resource properties instead of using a String location property.

The path may contain ${...} placeholders, to be resolved as Environment properties: e.g. ${user.dir}. Unresolvable placeholders are ignored by default.

Delegates to a ResourceLoader to do the heavy lifting, by default using a DefaultResourceLoader.

Since:
28.12.2003
Author:
Juergen Hoeller, Dave Syer, Chris Beams
See Also:
Resource, ResourceLoader, DefaultResourceLoader, PropertyResolver.resolvePlaceholders(java.lang.String)

Constructor Summary
ResourceEditor()
          Create a new instance of the ResourceEditor class using a DefaultResourceLoader and StandardEnvironment.
ResourceEditor(ResourceLoader resourceLoader)
          Deprecated. as of Spring 3.1 in favor of ResourceEditor(ResourceLoader, PropertyResolver)
ResourceEditor(ResourceLoader resourceLoader, boolean ignoreUnresolvablePlaceholders)
          Deprecated. as of Spring 3.1 in favor of ResourceEditor(ResourceLoader, PropertyResolver, boolean)
ResourceEditor(ResourceLoader resourceLoader, PropertyResolver propertyResolver)
          Create a new instance of the ResourceEditor class using the given ResourceLoader and PropertyResolver.
ResourceEditor(ResourceLoader resourceLoader, PropertyResolver propertyResolver, boolean ignoreUnresolvablePlaceholders)
          Create a new instance of the ResourceEditor class using the given ResourceLoader.
 
Method Summary
 String getAsText()
           
protected  String resolvePath(String path)
          Resolve the given path, replacing placeholders with corresponding property values from the environment if necessary.
 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

ResourceEditor

public ResourceEditor()
Create a new instance of the ResourceEditor class using a DefaultResourceLoader and StandardEnvironment.


ResourceEditor

@Deprecated
public ResourceEditor(ResourceLoader resourceLoader)
Deprecated. as of Spring 3.1 in favor of ResourceEditor(ResourceLoader, PropertyResolver)

Create a new instance of the ResourceEditor class using the given ResourceLoader and a StandardEnvironment.

Parameters:
resourceLoader - the ResourceLoader to use

ResourceEditor

public ResourceEditor(ResourceLoader resourceLoader,
                      PropertyResolver propertyResolver)
Create a new instance of the ResourceEditor class using the given ResourceLoader and PropertyResolver.

Parameters:
resourceLoader - the ResourceLoader to use
propertyResolver - the PropertyResolver to use

ResourceEditor

@Deprecated
public ResourceEditor(ResourceLoader resourceLoader,
                                 boolean ignoreUnresolvablePlaceholders)
Deprecated. as of Spring 3.1 in favor of ResourceEditor(ResourceLoader, PropertyResolver, boolean)

Create a new instance of the ResourceEditor class using the given ResourceLoader.

Parameters:
resourceLoader - the ResourceLoader to use
ignoreUnresolvablePlaceholders - whether to ignore unresolvable placeholders if no corresponding property could be found

ResourceEditor

public ResourceEditor(ResourceLoader resourceLoader,
                      PropertyResolver propertyResolver,
                      boolean ignoreUnresolvablePlaceholders)
Create a new instance of the ResourceEditor class using the given ResourceLoader.

Parameters:
resourceLoader - the ResourceLoader to use
propertyResolver - the PropertyResolver to use
ignoreUnresolvablePlaceholders - whether to ignore unresolvable placeholders if no corresponding property could be found in the given propertyResolver
Method Detail

setAsText

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

resolvePath

protected String resolvePath(String path)
Resolve the given path, replacing placeholders with corresponding property values from the environment if necessary.

Parameters:
path - the original file path
Returns:
the resolved file path
See Also:
PropertyResolver.resolvePlaceholders(java.lang.String), PropertyResolver.resolveRequiredPlaceholders(java.lang.String)

getAsText

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