Class ResourceArrayPropertyEditor
- java.lang.Object
- java.beans.PropertyEditorSupport
- org.springframework.core.io.support.ResourceArrayPropertyEditor
- All Implemented Interfaces:
PropertyEditor
public class ResourceArrayPropertyEditor extends PropertyEditorSupport
Editor forResource
arrays, to automatically convertString
location patterns (e.g."file:C:/my*.txt"
or"classpath*:myfile.txt"
) toResource
array properties. Can also translate a collection or array of location patterns into a merged Resource array.A path may contain
${...}
placeholders, to be resolved asEnvironment
properties: e.g.${user.dir}
. Unresolvable placeholders are ignored by default.Delegates to a
ResourcePatternResolver
, by default using aPathMatchingResourcePatternResolver
.- Since:
- 1.1.2
- Author:
- Juergen Hoeller, Chris Beams
- See Also:
Resource
,ResourcePatternResolver
,PathMatchingResourcePatternResolver
Constructor Summary
Constructors Constructor Description ResourceArrayPropertyEditor()
Create a new ResourceArrayPropertyEditor with a defaultPathMatchingResourcePatternResolver
andStandardEnvironment
.ResourceArrayPropertyEditor(ResourcePatternResolver resourcePatternResolver, PropertyResolver propertyResolver)
Create a new ResourceArrayPropertyEditor with the givenResourcePatternResolver
andPropertyResolver
(typically anEnvironment
).ResourceArrayPropertyEditor(ResourcePatternResolver resourcePatternResolver, PropertyResolver propertyResolver, boolean ignoreUnresolvablePlaceholders)
Create a new ResourceArrayPropertyEditor with the givenResourcePatternResolver
andPropertyResolver
(typically anEnvironment
).
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
resolvePath(String path)
Resolve the given path, replacing placeholders with corresponding system property values if necessary.void
setAsText(String text)
Treat the given text as a location pattern and convert it to a Resource array.void
setValue(Object value)
Treat the given value as a collection or array and convert it to a Resource array.Methods inherited from class java.beans.PropertyEditorSupport
addPropertyChangeListener, firePropertyChange, getAsText, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, supportsCustomEditor
Constructor Detail
ResourceArrayPropertyEditor
public ResourceArrayPropertyEditor()
Create a new ResourceArrayPropertyEditor with a defaultPathMatchingResourcePatternResolver
andStandardEnvironment
.
ResourceArrayPropertyEditor
public ResourceArrayPropertyEditor(ResourcePatternResolver resourcePatternResolver, @Nullable PropertyResolver propertyResolver)
Create a new ResourceArrayPropertyEditor with the givenResourcePatternResolver
andPropertyResolver
(typically anEnvironment
).- Parameters:
resourcePatternResolver
- the ResourcePatternResolver to usepropertyResolver
- the PropertyResolver to use
ResourceArrayPropertyEditor
public ResourceArrayPropertyEditor(ResourcePatternResolver resourcePatternResolver, @Nullable PropertyResolver propertyResolver, boolean ignoreUnresolvablePlaceholders)
Create a new ResourceArrayPropertyEditor with the givenResourcePatternResolver
andPropertyResolver
(typically anEnvironment
).- Parameters:
resourcePatternResolver
- the ResourcePatternResolver to usepropertyResolver
- the PropertyResolver to useignoreUnresolvablePlaceholders
- whether to ignore unresolvable placeholders if no corresponding system property could be found
Method Detail
setAsText
public void setAsText(String text)
Treat the given text as a location pattern and convert it to a Resource array.- Specified by:
setAsText
in interfacePropertyEditor
- Overrides:
setAsText
in classPropertyEditorSupport
setValue
public void setValue(Object value) throws IllegalArgumentException
Treat the given value as a collection or array and convert it to a Resource array. Considers String elements as location patterns and takes Resource elements as-is.- Specified by:
setValue
in interfacePropertyEditor
- Overrides:
setValue
in classPropertyEditorSupport
- Throws:
IllegalArgumentException
resolvePath
protected String resolvePath(String path)
Resolve the given path, replacing placeholders with corresponding system property values if necessary.- Parameters:
path
- the original file path- Returns:
- the resolved file path
- See Also:
PropertyResolver.resolvePlaceholders(java.lang.String)
,PropertyResolver.resolveRequiredPlaceholders(String)