Package net.shibboleth.idp.module
Class AbstractIdPModule.BasicModuleResource
java.lang.Object
net.shibboleth.idp.module.AbstractIdPModule.BasicModuleResource
- All Implemented Interfaces:
IdPModule.ModuleResource
- Enclosing class:
- AbstractIdPModule
Models a specific resource managed by a module.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionBasicModuleResource
(String src, Path dest, boolean shouldReplace, boolean isOptional, boolean isExecutable) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate InputStream
connect
(ModuleContext moduleContext, URI uri) Connect to the given URI and return the HTTP response stream.private IdPModule.ResourceResult
disable
(ModuleContext moduleContext, boolean clean) Disable the supplied resource, either removing or renaming.private IdPModule.ResourceResult
enable
(ModuleContext moduleContext) Enable the supplied resource.boolean
Gets the destination for the resource.private InputStream
getDestinationStream
(ModuleContext moduleContext) Access the destination as a stream.Gets the source location of the resource.private InputStream
getSourceStream
(ModuleContext moduleContext) Access the source as a stream.boolean
hasChanged
(ModuleContext moduleContext) Gets whether the resource has been altered at its destination from the source material.int
hashCode()
boolean
Gets whether the resource should be marked executable where applicable.boolean
Gets whether the resource, if missing, should not act as a module-disabled signal.boolean
Gets whether the resource should be config(replace) or config(noreplace) in RPM specfile parlance.
-
Field Details
-
source
Source. -
destination
Destination. -
replace
private final boolean replaceReplacement criteria. -
optional
private final boolean optionalOptional criteria. -
executable
private final boolean executableExecutable criteria.
-
-
Constructor Details
-
BasicModuleResource
public BasicModuleResource(@Nonnull @NotEmpty String src, @Nonnull Path dest, boolean shouldReplace, boolean isOptional, boolean isExecutable) Constructor.- Parameters:
src
- sourcedest
- destinationshouldReplace
- whether to replace when enablingisOptional
- whether the resource is optionalisExecutable
- whether the resource is executable
-
-
Method Details
-
hashCode
public int hashCode() -
equals
-
getSource
Gets the source location of the resource.This may be a URL or a local path that will be assumed a classpath.
- Specified by:
getSource
in interfaceIdPModule.ModuleResource
- Returns:
- source location
-
getDestination
Gets the destination for the resource.- Specified by:
getDestination
in interfaceIdPModule.ModuleResource
- Returns:
- destination path
-
isReplace
public boolean isReplace()Gets whether the resource should be config(replace) or config(noreplace) in RPM specfile parlance.- Specified by:
isReplace
in interfaceIdPModule.ModuleResource
- Returns:
- true iff the resource should be replaced with the original preserved
-
isOptional
public boolean isOptional()Gets whether the resource, if missing, should not act as a module-disabled signal.- Specified by:
isOptional
in interfaceIdPModule.ModuleResource
- Returns:
- true iff the resource may be removed by a deployer without disabling the module
-
isExecutable
public boolean isExecutable()Gets whether the resource should be marked executable where applicable.- Specified by:
isExecutable
in interfaceIdPModule.ModuleResource
- Returns:
- true iff the resource should be marked executable
-
hasChanged
Gets whether the resource has been altered at its destination from the source material.- Parameters:
moduleContext
- context for module operations- Returns:
- true iff the resource has been changed
-
getSourceStream
@Nullable private InputStream getSourceStream(@Nonnull ModuleContext moduleContext) throws IOException Access the source as a stream.- Parameters:
moduleContext
- context for module operations- Returns:
- a stream or null if the source does not exist
- Throws:
IOException
- on failure
-
connect
@Nonnull private InputStream connect(@Nonnull ModuleContext moduleContext, @Nonnull URI uri) throws IOException Connect to the given URI and return the HTTP response stream.- Parameters:
moduleContext
- module contexturi
- resource location- Returns:
- input stream of response
- Throws:
IOException
- on errors
-
getDestinationStream
@Nullable private InputStream getDestinationStream(@Nonnull ModuleContext moduleContext) throws IOException Access the destination as a stream.- Parameters:
moduleContext
- context for module operations- Returns:
- a stream or null if the destination does not exist
- Throws:
IOException
- on failure
-
enable
@Nonnull private IdPModule.ResourceResult enable(@Nonnull ModuleContext moduleContext) throws ModuleException Enable the supplied resource.- Parameters:
moduleContext
- module context- Returns:
- result of operation
- Throws:
ModuleException
- if an error occurs
-
disable
@Nonnull private IdPModule.ResourceResult disable(@Nonnull ModuleContext moduleContext, boolean clean) throws ModuleException Disable the supplied resource, either removing or renaming.- Parameters:
moduleContext
- module contextclean
- true iff resource should be removed- Returns:
- result of operation
- Throws:
ModuleException
- if an error occurs
-