3.2.1: 2012-12-13

net.sf.basedb.core
Class FileStoreUtil

java.lang.Object
  extended by net.sf.basedb.core.FileStoreUtil

public class FileStoreUtil
extends Object

Utility class working with FileStoreEnabled items.

Version:
2.5
Author:
nicklas
Last modified
$Date: 2011-09-27 14:35:28 +0200 (Tue, 27 Sep 2011) $

Constructor Summary
FileStoreUtil()
           
 
Method Summary
static File getDataFile(DbControl dc, FileStoreEnabled item, String dataFileType, boolean requireValid)
          Get the file of the given data file type in the FileStoreEnabled item's file set assuming that at most one file exists.
static List<File> getDataFiles(DbControl dc, FileStoreEnabled item, String dataFileType, boolean requireValid)
          Get the file of the given data file type in the FileStoreEnabled item's file set.
static List<File> getGenericDataFiles(DbControl dc, FileStoreEnabled item, String genericType)
          Get all files with a specific generic ItemSubtype in a given item's file set.
static List<FileSetMember> getGenericMembers(DbControl dc, FileStoreEnabled item, String genericType)
          Get all file members with a specific generic ItemSubtype in a given item's file set.
static List<PlatformFileType> getGenericPlatformFileTypes(DbControl dc, FileStoreEnabled item, String genericType)
          Get a list of all platform file types that has the specified generic ItemSubtype.
static boolean hasDataFile(DbControl dc, FileStoreEnabled item, String dataFileType, boolean requireValid)
          Check if a file of the given data file type is present in a FileStoreEnabled item's file set.
static FileSetMember setDataFile(DbControl dc, FileStoreEnabled item, String dataFileType, File file)
          Set or remove a file to FileStoreEnabled item based on the file's DataFileType.
static FileSetMember setGenericDataFile(DbControl dc, FileStoreEnabled item, String genericType, String fallbackDataFileType, File file)
          Set or remove a file to FileStoreEnabled item based on the file's generic ItemSubtype.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileStoreUtil

public FileStoreUtil()
Method Detail

hasDataFile

public static boolean hasDataFile(DbControl dc,
                                  FileStoreEnabled item,
                                  String dataFileType,
                                  boolean requireValid)
Check if a file of the given data file type is present in a FileStoreEnabled item's file set. Optionally, check if the file has been validated as a valid file.

Parameters:
dc - DbControl to use when accessing the database.
item - The FileStoreEnabled item to check
dataFileType - The external ID of the DataFileType to check for
requireValid - TRUE if the file must exist and be valid, FALSE if it must only exist. This parameter is ignored if the data file type doesn't have a validator
Returns:
TRUE if the file exists, FALSE otherwise

getDataFile

public static File getDataFile(DbControl dc,
                               FileStoreEnabled item,
                               String dataFileType,
                               boolean requireValid)
Get the file of the given data file type in the FileStoreEnabled item's file set assuming that at most one file exists.

Parameters:
dc - DbControl used to access the database.
item - The FileStoreEnabled item to check
dataFileType - The external ID of the DataFileType to check for
requireValid - TRUE to only get the data file if is a valid or unvalidated file
Returns:
A file item, or null if no (valid) file of the given type exists
Throws:
PermissionDeniedException - If the logged in user doesn't have read permission to the file
Since:
3.0

getDataFiles

public static List<File> getDataFiles(DbControl dc,
                                      FileStoreEnabled item,
                                      String dataFileType,
                                      boolean requireValid)
Get the file of the given data file type in the FileStoreEnabled item's file set.

Parameters:
dc - DbControl used to access the database.
item - The FileStoreEnabled item to check
dataFileType - The external ID of the DataFileType to check for
requireValid - TRUE to only get the data file if is a valid or unvalidated file
Returns:
A list with file items, empty if no (valid) file of the given type exists
Throws:
PermissionDeniedException - If the logged in user doesn't have read permission to the file
Since:
3.0

getGenericDataFiles

public static List<File> getGenericDataFiles(DbControl dc,
                                             FileStoreEnabled item,
                                             String genericType)
Get all files with a specific generic ItemSubtype in a given item's file set. Note! This method will only return files that the logged in user has permission to read. Other files in the file set will be ignored. Note! This method checks the file type from DataFileType.getGenericType(), not the file type from File.getItemSubtype().

Parameters:
dc - A DbControl to use for database access
item - The FileStoreEnabled item to check
genericType - The system ID of the ItemSubtype to check for
Returns:
A list of file items that matches

getGenericMembers

public static List<FileSetMember> getGenericMembers(DbControl dc,
                                                    FileStoreEnabled item,
                                                    String genericType)
Get all file members with a specific generic ItemSubtype in a given item's file set. Note! This method will only return members that the logged in user has permission to read the file. Other members in the file set will be ignored. Note! This method checks the file type from DataFileType.getGenericType(), not the file type from File.getItemSubtype().

Parameters:
dc - A DbControl to use for database access
item - The FileStoreEnabled item to check
genericType - The system ID of the ItemSubtype to check for
Returns:
A list of member items that matches
Since:
3.0

getGenericPlatformFileTypes

public static List<PlatformFileType> getGenericPlatformFileTypes(DbControl dc,
                                                                 FileStoreEnabled item,
                                                                 String genericType)
Get a list of all platform file types that has the specified generic ItemSubtype. If the item doesn't have any associated platform or variant, no file types are returned.

Parameters:
dc - A DbControl to use for database access
item - The FileStoreEnabled item to check
genericType - The system ID of the ItemSubtype to check for
Returns:
A list of platform file types that matches
Since:
3.0

setDataFile

public static FileSetMember setDataFile(DbControl dc,
                                        FileStoreEnabled item,
                                        String dataFileType,
                                        File file)
Set or remove a file to FileStoreEnabled item based on the file's DataFileType.

Parameters:
dc - A DbControl to use for database access
item - The item to add/remove the file to/from
dataFileType - The external ID of the DataFileType of the file
file - The file, or null to remove an existing file
Returns:
The new FileSetMember item or null if a file was removed
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission to the item
InvalidUseOfNullException - If item is null

setGenericDataFile

public static FileSetMember setGenericDataFile(DbControl dc,
                                               FileStoreEnabled item,
                                               String genericType,
                                               String fallbackDataFileType,
                                               File file)
Set or remove a file to FileStoreEnabled item based on the file's generic ItemSubtype. Note! This method checks the file type from DataFileType.getGenericType(), not the file type from File.getItemSubtype().

Parameters:
dc - A DbControl to use for database access
item - The item to add/remove the file to/from
genericType - The system ID of the generic ItemSubtype
fallbackDataFileType - The external ID of a DataFileType that is used if the specified generic file type isn't found among the file types registered for the platform
file - The file, or null to remove an existing file
Returns:
The new FileSetMember item or null if a file was removed
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission to the item
InvalidUseOfNullException - If item is null

3.2.1: 2012-12-13