TrueZIP Kernel 7.0-rc1

de.schlichtherle.truezip.fs
Class FsDefaultManager

java.lang.Object
  extended by de.schlichtherle.truezip.fs.FsManager
      extended by de.schlichtherle.truezip.fs.FsDefaultManager
All Implemented Interfaces:
Iterable<FsController<?>>

@ThreadSafe
public final class FsDefaultManager
extends FsManager

The default implementation of a file system manager.

Author:
Christian Schlichtherle

Nested Class Summary
private  class FsDefaultManager.Scheduler
           
 
Field Summary
private static Comparator<FsController<?>> BOTTOM_UP_COMPARATOR
          Orders file system controllers so that all file systems appear before any of their parent file systems.
private  Link.Type optionalScheduleType
           
private  Map<FsMountPoint,Link<FsDefaultManager.Scheduler>> schedulers
          The map of all schedulers for composite file system controllers, keyed by the mount point of their respective file system model.
 
Fields inherited from class de.schlichtherle.truezip.fs.FsManager
UMOUNT
 
Constructor Summary
FsDefaultManager()
           
FsDefaultManager(Link.Type optionalScheduleType)
           
 
Method Summary
 FsController<?> getController(FsMountPoint mountPoint, FsCompositeDriver driver)
          Returns a thread-safe file system controller for the given mount point.
private  FsController<?> getController(FsMountPoint mountPoint, FsController<?> parent, FsCompositeDriver driver)
           
private  Set<FsController<?>> getControllers()
           
 int getSize()
          Returns the number of federated file systems managed by this instance.
 Iterator<FsController<?>> iterator()
          Returns an iterator for the controller of all federated file systems managed by this instance.
 
Methods inherited from class de.schlichtherle.truezip.fs.FsManager
equals, hashCode, sync, sync, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

schedulers

private final Map<FsMountPoint,Link<FsDefaultManager.Scheduler>> schedulers
The map of all schedulers for composite file system controllers, keyed by the mount point of their respective file system model. All access to this map must be externally synchronized!


optionalScheduleType

private final Link.Type optionalScheduleType

BOTTOM_UP_COMPARATOR

private static final Comparator<FsController<?>> BOTTOM_UP_COMPARATOR
Orders file system controllers so that all file systems appear before any of their parent file systems.

Constructor Detail

FsDefaultManager

public FsDefaultManager()

FsDefaultManager

FsDefaultManager(Link.Type optionalScheduleType)
Method Detail

getController

@NonNull
public FsController<?> getController(@NonNull
                                             FsMountPoint mountPoint,
                                             @NonNull
                                             FsCompositeDriver driver)
Description copied from class: FsManager
Returns a thread-safe file system controller for the given mount point. If and only if the given mount point addresses a federated file system, the returned file system controller is remembered for life cycle management, i.e. future lookup and synchronization operations.

Specified by:
getController in class FsManager
Parameters:
mountPoint - the mount point of the file system.
driver - the file system composite driver which will be used to create a new file system controller if required.
Returns:
A file system controller.

getController

private FsController<?> getController(FsMountPoint mountPoint,
                                      FsController<?> parent,
                                      FsCompositeDriver driver)

getSize

public int getSize()
Description copied from class: FsManager
Returns the number of federated file systems managed by this instance.

Specified by:
getSize in class FsManager
Returns:
The number of federated file systems managed by this instance.

iterator

public Iterator<FsController<?>> iterator()
Description copied from class: FsManager
Returns an iterator for the controller of all federated file systems managed by this instance.

Important: The iterated file system controllers must be ordered so that all file systems appear before any of their parent file systems.

Specified by:
iterator in interface Iterable<FsController<?>>
Specified by:
iterator in class FsManager
Returns:
An iterator for the controller of all federated file systems managed by this instance.

getControllers

private Set<FsController<?>> getControllers()

TrueZIP Kernel 7.0-rc1

Copyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.