Package org.eclipse.serializer.afs.types
Class AccessManager.Default<S extends AFileSystem>
- java.lang.Object
-
- org.eclipse.serializer.afs.types.AccessManager.Default<S>
-
- All Implemented Interfaces:
AccessManager
- Enclosing interface:
- AccessManager
public static class AccessManager.Default<S extends AFileSystem> extends Object implements AccessManager
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.serializer.afs.types.AccessManager
AccessManager.Creator, AccessManager.Default<S extends AFileSystem>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecrementDirectoryUsageCount(ADirectory directory)AReadableFiledowngrade(AWritableFile file)<R> RexecuteMutating(ADirectory directory, Function<? super ADirectory,R> logic)SfileSystem()protected org.eclipse.serializer.afs.types.AccessManager.Default.DirEntrygetNonNullDirEntry(ADirectory directory)protected voidincrementDirectoryUsageCount(ADirectory directory)protected booleaninternalUnregister(AReadableFile file)protected booleaninternalUnregister(AReadableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)protected AReadableFileinternalUseReading(AFile file, Object user, org.eclipse.serializer.afs.types.AccessManager.Default.ConflictHandler conflictHandler)protected AWritableFileinternalUseWriting(AFile file, Object user, org.eclipse.serializer.afs.types.AccessManager.Default.ConflictHandler conflictHandler)booleanisMutating(ADirectory directory)booleanisUsed(ADirectory directory)booleanisUsed(AFile file)booleanisUsedReading(AFile file)booleanisUsedReading(AFile file, Object user)booleanisUsedWriting(AFile file)booleanisUsedWriting(AFile file, Object user)protected Objectmutex()protected voidremoveExclusive(AWritableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)protected static voidthrowUnregisteredException(AReadableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)AReadableFiletryUseReading(AFile file, Object user)AWritableFiletryUseWriting(AFile file, Object user)booleanunregister(AReadableFile file)booleanunregister(AWritableFile file)protected voidunregisterExclusive(AWritableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)protected voidunregisterShared(AReadableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)AReadableFileuseReading(AFile file, Object user)AWritableFileuseWriting(AFile file, Object user)protected voidvalidateExclusive(AWritableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.serializer.afs.types.AccessManager
defaultUser, tryUseReading, tryUseWriting, useReading, useWriting
-
-
-
-
Constructor Detail
-
Default
protected Default(S fileSystem)
-
-
Method Detail
-
mutex
protected final Object mutex()
-
fileSystem
public final S fileSystem()
- Specified by:
fileSystemin interfaceAccessManager
-
isUsed
public boolean isUsed(ADirectory directory)
- Specified by:
isUsedin interfaceAccessManager
-
isMutating
public boolean isMutating(ADirectory directory)
- Specified by:
isMutatingin interfaceAccessManager
-
isUsed
public boolean isUsed(AFile file)
- Specified by:
isUsedin interfaceAccessManager
-
isUsedReading
public boolean isUsedReading(AFile file)
- Specified by:
isUsedReadingin interfaceAccessManager
-
isUsedWriting
public boolean isUsedWriting(AFile file)
- Specified by:
isUsedWritingin interfaceAccessManager
-
isUsedReading
public boolean isUsedReading(AFile file, Object user)
- Specified by:
isUsedReadingin interfaceAccessManager
-
isUsedWriting
public boolean isUsedWriting(AFile file, Object user)
- Specified by:
isUsedWritingin interfaceAccessManager
-
executeMutating
public final <R> R executeMutating(ADirectory directory, Function<? super ADirectory,R> logic)
- Specified by:
executeMutatingin interfaceAccessManager
-
useReading
public AReadableFile useReading(AFile file, Object user)
- Specified by:
useReadingin interfaceAccessManager
-
tryUseReading
public AReadableFile tryUseReading(AFile file, Object user)
- Specified by:
tryUseReadingin interfaceAccessManager
-
useWriting
public AWritableFile useWriting(AFile file, Object user)
- Specified by:
useWritingin interfaceAccessManager
-
tryUseWriting
public AWritableFile tryUseWriting(AFile file, Object user)
- Specified by:
tryUseWritingin interfaceAccessManager
-
incrementDirectoryUsageCount
protected final void incrementDirectoryUsageCount(ADirectory directory)
-
downgrade
public AReadableFile downgrade(AWritableFile file)
- Specified by:
downgradein interfaceAccessManager
-
internalUseReading
protected final AReadableFile internalUseReading(AFile file, Object user, org.eclipse.serializer.afs.types.AccessManager.Default.ConflictHandler conflictHandler)
-
internalUseWriting
protected final AWritableFile internalUseWriting(AFile file, Object user, org.eclipse.serializer.afs.types.AccessManager.Default.ConflictHandler conflictHandler)
-
unregister
public boolean unregister(AReadableFile file)
- Specified by:
unregisterin interfaceAccessManager
-
unregister
public boolean unregister(AWritableFile file)
- Specified by:
unregisterin interfaceAccessManager
-
internalUnregister
protected boolean internalUnregister(AReadableFile file)
-
decrementDirectoryUsageCount
protected void decrementDirectoryUsageCount(ADirectory directory)
-
getNonNullDirEntry
protected final org.eclipse.serializer.afs.types.AccessManager.Default.DirEntry getNonNullDirEntry(ADirectory directory)
-
internalUnregister
protected boolean internalUnregister(AReadableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)
-
unregisterShared
protected void unregisterShared(AReadableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)
-
unregisterExclusive
protected void unregisterExclusive(AWritableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)
-
validateExclusive
protected void validateExclusive(AWritableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)
-
throwUnregisteredException
protected static void throwUnregisteredException(AReadableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)
-
removeExclusive
protected void removeExclusive(AWritableFile file, org.eclipse.serializer.afs.types.AccessManager.Default.FileEntry entry)
-
-