public class DirectoryConfig extends FileSystemConfig implements StructuralConfig
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_FILE_NAME |
static java.lang.String |
USER_HOME_ROOT_PATH |
models, name, node, parent, subdirectories
Modifier and Type | Method and Description |
---|---|
void |
addModel(java.lang.String id,
java.lang.String path,
SingleUser user)
Add a model at a certain path, for a certain user
|
DirectoryConfig |
createUserHome(SingleUser user)
Create a user home
|
void |
divestRight(java.lang.String id,
AccessType at,
java.util.Set<User> users) |
static DirectoryConfig |
forDirectory(java.io.File dir) |
java.lang.String |
getPathForModel(java.lang.String id)
Get the path of a model
|
java.util.Set<java.lang.String> |
getSharedModels(User user)
Get all models a user has shared access.
|
java.lang.String |
getUserHome(SingleUser user)
Get the path of the user's home.
|
void |
grantRight(java.lang.String id,
AccessType at,
java.util.Set<User> users) |
boolean |
isAnnotatableByUser(User user) |
boolean |
isAnnotatableByUser(User user,
java.lang.String id) |
boolean |
isOwner(SingleUser user) |
boolean |
isReadableByUser(User user) |
boolean |
isReadableByUser(User user,
java.lang.String id) |
boolean |
isWriteableByUser(User user) |
boolean |
isWriteableByUser(User user,
java.lang.String id) |
java.util.Set<java.lang.String> |
listSharedPaths(User user)
List the paths for which a user has shared access at least to one model
|
java.util.Set<java.lang.String> |
listUserHome(SingleUser user)
List all paths belonging to the user's home
|
boolean |
moveDirectory(java.lang.String dirPath,
java.lang.String targetPath,
SingleUser user)
Move a complete directory to another path
|
void |
remove(java.lang.String id)
Remove a certain model
|
void |
removeDirectory(java.lang.String path,
SingleUser user)
Remove a complete directory with all its models
|
boolean |
setOwner(java.lang.String id,
SingleUser owner,
SingleUser user) |
void |
setPath(java.lang.String id,
java.lang.String path,
SingleUser user)
Set the path of a model
|
createDirConfig, createSubDir, getDirConfigForModel, getDirConfigForPath, getModelConfig, getModelIDs, getModelIDs, getPath, listPaths
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getModelIDs, listPaths
public static final java.lang.String DEFAULT_FILE_NAME
public static final java.lang.String USER_HOME_ROOT_PATH
public java.lang.String getPathForModel(java.lang.String id)
StructuralConfig
getPathForModel
in interface StructuralConfig
id
- the model's IDpublic void addModel(java.lang.String id, java.lang.String path, SingleUser user)
StructuralConfig
addModel
in interface StructuralConfig
id
- the model's IDpath
- the path of the modeluser
- the user the model is added forpublic void setPath(java.lang.String id, java.lang.String path, SingleUser user)
StructuralConfig
setPath
in interface StructuralConfig
id
- the model's idpath
- the new pathuser
- the user that requests the change of the pathpublic boolean setOwner(java.lang.String id, SingleUser owner, SingleUser user)
public boolean moveDirectory(java.lang.String dirPath, java.lang.String targetPath, SingleUser user)
StructuralConfig
moveDirectory
in interface StructuralConfig
dirPath
- the path of the directory that will be movedtargetPath
- the path were the directory will be moved touser
- the user that requests the movement of the directorypublic void remove(java.lang.String id)
StructuralConfig
remove
in interface StructuralConfig
id
- the model's IDpublic void removeDirectory(java.lang.String path, SingleUser user)
StructuralConfig
removeDirectory
in interface StructuralConfig
path
- the path of the directoryuser
- the user that requests deletionpublic java.lang.String getUserHome(SingleUser user)
StructuralConfig
getUserHome
in interface StructuralConfig
user
- the userpublic java.util.Set<java.lang.String> listUserHome(SingleUser user)
StructuralConfig
listUserHome
in interface StructuralConfig
user
- the userpublic java.util.Set<java.lang.String> listSharedPaths(User user)
StructuralConfig
listSharedPaths
in interface StructuralConfig
user
- the userpublic java.util.Set<java.lang.String> getSharedModels(User user)
StructuralConfig
getSharedModels
in interface StructuralConfig
user
- the userpublic DirectoryConfig createUserHome(SingleUser user)
StructuralConfig
createUserHome
in interface StructuralConfig
user
- the userpublic void grantRight(java.lang.String id, AccessType at, java.util.Set<User> users)
public void divestRight(java.lang.String id, AccessType at, java.util.Set<User> users)
public boolean isReadableByUser(User user)
isReadableByUser
in class FileSystemConfig
public boolean isReadableByUser(User user, java.lang.String id)
isReadableByUser
in class FileSystemConfig
public boolean isWriteableByUser(User user)
isWriteableByUser
in class FileSystemConfig
public boolean isWriteableByUser(User user, java.lang.String id)
isWriteableByUser
in class FileSystemConfig
public boolean isAnnotatableByUser(User user)
isAnnotatableByUser
in class FileSystemConfig
public boolean isAnnotatableByUser(User user, java.lang.String id)
isAnnotatableByUser
in class FileSystemConfig
public boolean isOwner(SingleUser user)
isOwner
in class FileSystemConfig
public static DirectoryConfig forDirectory(java.io.File dir) throws java.lang.Exception
java.lang.Exception