@ImplementationsShouldExtend(value=FsAbstractManager.class) public interface FsManager extends FsModel.Factory<FsDriver>, FsController.Factory<FsArchiveDriver<? extends FsArchiveEntry>>
Implementations should be thread-safe.
FsController,
FsModel| Modifier and Type | Method and Description |
|---|---|
<X extends IOException> |
accept(net.java.truecommons.shed.Filter<? super FsController> filter,
net.java.truecommons.shed.Visitor<? super FsController,X> visitor)
Invokes the given visitor on all managed file system controllers which
get accepted by the given
filter. |
FsController |
controller(FsCompositeDriver driver,
FsMountPoint mountPoint)
Returns the thread-safe file system controller for the given mount point.
|
void |
sync(net.java.truecommons.shed.Filter<? super FsController> filter,
net.java.truecommons.shed.Visitor<? super FsController,FsSyncException> visitor)
Invokes the given visitor to
sync() all
managed file system controllers which get accepted by the given
filter. |
newModelnewController<X extends IOException> void accept(net.java.truecommons.shed.Filter<? super FsController> filter, net.java.truecommons.shed.Visitor<? super FsController,X> visitor) throws X extends IOException
filter.
This is the engine for calls to sync(net.java.truecommons.shed.Filter<? super net.java.truevfs.kernel.spec.FsController>, net.java.truecommons.shed.Visitor<? super net.java.truevfs.kernel.spec.FsController, net.java.truevfs.kernel.spec.FsSyncException>).filter - the filter for the managed file system controllers.visitor - the visitor for the filtered file system controllers.IOException - at the discretion of the visitor.
This will abort the visiting.FsController controller(FsCompositeDriver driver, FsMountPoint mountPoint)
synchronization.driver - the composite file system driver which shall get used to
create a new file system controller if required.mountPoint - the mount point of the file system.void sync(net.java.truecommons.shed.Filter<? super FsController> filter, net.java.truecommons.shed.Visitor<? super FsController,FsSyncException> visitor) throws FsSyncException
sync() all
managed file system controllers which get accepted by the given
filter.
Call this method instead of accept(net.java.truecommons.shed.Filter<? super net.java.truevfs.kernel.spec.FsController>, net.java.truecommons.shed.Visitor<? super net.java.truevfs.kernel.spec.FsController, X>) for sync()ing in
order to support processing of additional aspects such as controlling a
shutdown hook, logging statistics et al.
The implementation needs to use an FsSyncExceptionBuilder while
iterating over all managed file system controllers in order to ensure
that all controllers get synced, even if one or more controllers fail
with an FsSyncException.
filter - the filter for the managed file system controllers.
If set to Filter.ACCEPT_ANY, then the implementation may
perform additional cleanup operations, e.g. remove a shutdown
hook.visitor - the visitor for syncing the filtered file system
controllers.FsSyncWarningException - if only warning conditions
apply.
This implies that the respective file system controller has been
sync()ed with constraints, e.g. if an
open archive entry stream or channel gets forcibly
close()d.FsSyncException - if any error conditions apply.Copyright © 2005–2014 Schlichtherle IT Services. All rights reserved.