Class ResourceLoader
java.lang.Object
de.iip_ecosphere.platform.support.resources.ResourceLoader
Support for class loading also in FAT jars. Resource resolvers can be added directly or via JLS. Resource
filtering is currently only supported on the implicit classpath resource resolver.
- Author:
- Holger Eichelberger, SSE
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ResourceResolverOptional Maven resource resolver looking insrc/main/resourcesandsrc/test/resourcesin this sequence.private static List<ResourceResolver> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidAdds a URL-based resource filter.static voidAdds a set of default exclude filters to focus on app resources rather than test resources.static voidClears all filters.static ResourceResolvergetAllRegisteredResolver(ResourceResolver... resolver) Returns a resolver for all registered resolvers.static InputStreamgetResourceAsStream(Class<?> cls, String name, ResourceResolver... optional) Returns a resource as string.static InputStreamgetResourceAsStream(ClassLoader loader, String name, ResourceResolver... optional) Returns a resource as string.static InputStreamgetResourceAsStream(String name, ResourceResolver... optional) Returns a resource as string taking the class loader of this class.static booleanReturns whether resource filters have been defined.static booleanknowsResourceResolver(ResourceResolver resolver) Returns whether the specific resolver is known.static booleanmatchesFilter(URI uri) Returns if any filter matches the givenuri.static final StringprependSlash(String text) Prepends a "/" if there is none at the beginning oftext.static voidregisterResourceResolver(ResourceResolver resolver) Registers a resources resolver.static voidregisterResourceResolver(ResourceResolver resolver, boolean prepend) Registers a resources resolver.static voidunregisterResourceResolver(ResourceResolver resolver) Unregisters a resources resolver.
-
Field Details
-
MAVEN_RESOLVER
Optional Maven resource resolver looking insrc/main/resourcesandsrc/test/resourcesin this sequence. -
resolvers
-
filters
-
-
Constructor Details
-
ResourceLoader
public ResourceLoader()
-
-
Method Details
-
registerResourceResolver
Registers a resources resolver.- Parameters:
resolver- the resolver to be registered, ignored if null
-
registerResourceResolver
Registers a resources resolver.- Parameters:
resolver- the resolver to be registered, ignored if nullprepend- add the resolver to the front (handle with care)
-
knowsResourceResolver
Returns whether the specific resolver is known.- Parameters:
resolver- the resolver to look for- Returns:
truefor known,falseelse
-
unregisterResourceResolver
Unregisters a resources resolver.- Parameters:
resolver- the resolver to be unregistered, ignored if null
-
getResourceAsStream
Returns a resource as string taking the class loader of this class.- Parameters:
name- the name of the resource to loadoptional- further, optional on-the fly resolvers- Returns:
- the resource as input stream, may be null if the resource was not found
-
getAllRegisteredResolver
Returns a resolver for all registered resolvers.- Parameters:
resolver- additional resolver that shall be part of the result- Returns:
- a resolver for all registered resolvers
-
getResourceAsStream
public static InputStream getResourceAsStream(Class<?> cls, String name, ResourceResolver... optional) Returns a resource as string.- Parameters:
cls- the class to take the class loader fromname- the name of the resource to loadoptional- further, optional on-the fly resolvers- Returns:
- the resource as input stream, may be null if the resource was not found
-
getResourceAsStream
public static InputStream getResourceAsStream(ClassLoader loader, String name, ResourceResolver... optional) Returns a resource as string.- Parameters:
loader- the class loader to usename- the name of the resource to load (shall not start with "/", used as fallback alternative)optional- further, optional on-the fly resolvers- Returns:
- the resource as input stream, may be null if the resource was not found
-
prependSlash
Prepends a "/" if there is none at the beginning oftext.- Parameters:
text- the text to use as basis- Returns:
- test with "/" prepended
-
addFilter
Adds a URL-based resource filter. If filters are added, only resources that are accepted by the filter are returned (if supported by theResourceResolver. [testing]- Parameters:
filter- the filter to add, ignored if null
-
clearFilters
public static void clearFilters()Clears all filters. -
addTestExcludeFilters
public static void addTestExcludeFilters()Adds a set of default exclude filters to focus on app resources rather than test resources. [convenience] -
hasFilters
public static boolean hasFilters()Returns whether resource filters have been defined. [testing]- Returns:
truefor resource filters,falseelse
-
matchesFilter
Returns if any filter matches the givenuri. [testing]- Parameters:
uri- the URI to test- Returns:
trueif at least one filter matches the givenuri,falseelse. ConsiderhasFilters()to identify whetherfalseis significant.
-