|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.vaadin.data.util.FilesystemContainer
public class FilesystemContainer
A hierarchical container wrapper for a filesystem.
Nested Class Summary | |
---|---|
class |
FilesystemContainer.FileExtensionFilter
Generic file extension filter for displaying only files having certain extension. |
class |
FilesystemContainer.FileItem
A Item wrapper for files in a filesystem. |
Nested classes/interfaces inherited from interface com.vaadin.data.Container |
---|
Container.Editor, Container.Filter, Container.Filterable, Container.Hierarchical, Container.Indexed, Container.ItemSetChangeEvent, Container.ItemSetChangeListener, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeEvent, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.SimpleFilterable, Container.Sortable, Container.Viewer |
Field Summary | |
---|---|
static Collection<String> |
FILE_PROPERTIES
List of the string identifiers for the available properties. |
static String |
PROPERTY_ICON
String identifier of a file's "icon" property. |
static String |
PROPERTY_LASTMODIFIED
String identifier of a file's "last modified" property. |
static String |
PROPERTY_NAME
String identifier of a file's "name" property. |
static String |
PROPERTY_SIZE
String identifier of a file's "size" property. |
Constructor Summary | |
---|---|
FilesystemContainer(File root)
Constructs a new FileSystemContainer with the specified file
as the root of the filesystem. |
|
FilesystemContainer(File root,
boolean recursive)
Constructs a new FileSystemContainer with the specified file
as the root of the filesystem. |
|
FilesystemContainer(File root,
FilenameFilter filter,
boolean recursive)
Constructs a new FileSystemContainer with the specified root
and recursivity status. |
|
FilesystemContainer(File root,
String extension,
boolean recursive)
Constructs a new FileSystemContainer with the specified file
as the root of the filesystem. |
Method Summary | |
---|---|
boolean |
addContainerProperty(Object propertyId,
Class<?> type,
Object defaultValue)
Adds a new Property to all Items in the Container. |
Object |
addItem()
Creates a new Item into the Container, and assign it an automatic ID. |
Item |
addItem(Object itemId)
Creates a new Item with the given ID in the Container. |
void |
addRoot(File root)
Adds new root file directory. |
boolean |
areChildrenAllowed(Object itemId)
Tests if the specified Item in the container may have children. |
boolean |
containsId(Object itemId)
Tests if the Container contains the specified Item. |
Collection<File> |
getChildren(Object itemId)
Gets the IDs of all Items that are children of the specified Item. |
Property |
getContainerProperty(Object itemId,
Object propertyId)
Gets the specified property of the specified file Item. |
Collection<String> |
getContainerPropertyIds()
Gets the collection of available file properties. |
FilenameFilter |
getFilter()
Returns the file filter used to limit the files in this container. |
Item |
getItem(Object itemId)
Gets the Item with the given Item ID from the Container. |
Collection<File> |
getItemIds()
Gets the ID's of all visible (after filtering and sorting) Items stored in the Container. |
Object |
getParent(Object itemId)
Gets the ID of the parent Item of the specified Item. |
Class<?> |
getType(Object propertyId)
Gets the specified property's data type. |
boolean |
hasChildren(Object itemId)
Tests if the Item specified with itemId has child Items
or if it is a leaf. |
boolean |
isRecursive()
Is this container recursive filesystem. |
boolean |
isRoot(Object itemId)
Tests if the Item specified with itemId is a root Item. |
boolean |
removeAllItems()
Removes all Items from the Container. |
boolean |
removeContainerProperty(Object propertyId)
Removes a Property specified by the given Property ID from the Container. |
boolean |
removeItem(Object itemId)
Removes the Item identified by ItemId from the Container. |
Collection<File> |
rootItemIds()
Gets the IDs of all Items in the container that don't have a parent. |
boolean |
setChildrenAllowed(Object itemId,
boolean areChildrenAllowed)
Returns false when conversion from files to directories is
not supported. |
void |
setFilter(FilenameFilter filter)
Sets the file filter used to limit the files in this container. |
void |
setFilter(String extension)
Sets the file filter used to limit the files in this container. |
boolean |
setParent(Object itemId,
Object newParentId)
Returns false when moving files around in the filesystem is
not supported. |
void |
setRecursive(boolean recursive)
Sets the container recursive property. |
int |
size()
Gets the number of Items in the container. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static String PROPERTY_NAME
public static String PROPERTY_SIZE
public static String PROPERTY_ICON
public static String PROPERTY_LASTMODIFIED
public static Collection<String> FILE_PROPERTIES
Constructor Detail |
---|
public FilesystemContainer(File root)
FileSystemContainer
with the specified file
as the root of the filesystem. The files are included recursively.
root
- the root file for the new file-system container. Null values
are ignored.public FilesystemContainer(File root, boolean recursive)
FileSystemContainer
with the specified file
as the root of the filesystem. The files are included recursively.
root
- the root file for the new file-system container.recursive
- should the container recursively contain subdirectories.public FilesystemContainer(File root, String extension, boolean recursive)
FileSystemContainer
with the specified file
as the root of the filesystem.
root
- the root file for the new file-system container.extension
- the Filename extension (w/o separator) to limit the files in
container.recursive
- should the container recursively contain subdirectories.public FilesystemContainer(File root, FilenameFilter filter, boolean recursive)
FileSystemContainer
with the specified root
and recursivity status.
root
- the root file for the new file-system container.filter
- the Filename filter to limit the files in container.recursive
- should the container recursively contain subdirectories.Method Detail |
---|
public void addRoot(File root)
FilesystemContainer
.
root
- the File to be added as root directory. Null values are
ignored.public boolean areChildrenAllowed(Object itemId)
FileSystemContainer
contains files and directories, this
method returns true
for directory Items only.
areChildrenAllowed
in interface Container.Hierarchical
itemId
- the id of the item.
true
if the specified Item is a directory,
false
otherwise.public Collection<File> getChildren(Object itemId)
Container.Hierarchical
getChildren
in interface Container.Hierarchical
itemId
- ID of the Item whose children the caller is interested in
collection
containing the IDs of all other Items that are children in
the container hierarchypublic Object getParent(Object itemId)
Container.Hierarchical
getParent
in interface Container.Hierarchical
itemId
- ID of the Item whose parent the caller wishes to find out.
null
if the
specified Item is a root element.public boolean hasChildren(Object itemId)
Container.Hierarchical
Tests if the Item specified with itemId
has child Items
or if it is a leaf. The Container.Hierarchical.getChildren(Object itemId)
method
always returns null
for leaf Items.
Note that being a leaf does not imply whether or not an Item is allowed to have children.
.
hasChildren
in interface Container.Hierarchical
itemId
- ID of the Item to be tested
true
if the specified Item has children,
false
if not (is a leaf)public boolean isRoot(Object itemId)
Container.Hierarchical
itemId
is a root Item.
The hierarchical container can have more than one root and must have
at least one unless it is empty. The Container.Hierarchical.getParent(Object itemId)
method always returns null
for root Items.
isRoot
in interface Container.Hierarchical
itemId
- ID of the Item whose root status is to be tested
true
if the specified Item is a root,
false
if notpublic Collection<File> rootItemIds()
Container.Hierarchical
root
Items. The returned
collection is unmodifiable.
rootItemIds
in interface Container.Hierarchical
collection
containing IDs of all root elements of the containerpublic boolean setChildrenAllowed(Object itemId, boolean areChildrenAllowed) throws UnsupportedOperationException
false
when conversion from files to directories is
not supported.
setChildrenAllowed
in interface Container.Hierarchical
itemId
- the ID of the item.areChildrenAllowed
- the boolean value specifying if the Item can have children or
not.
true
if the operaton is successful otherwise
false
.
UnsupportedOperationException
- if the setChildrenAllowed is not supported.public boolean setParent(Object itemId, Object newParentId) throws UnsupportedOperationException
false
when moving files around in the filesystem is
not supported.
setParent
in interface Container.Hierarchical
itemId
- the ID of the item.newParentId
- the ID of the Item that's to be the new parent of the Item
identified with itemId.
true
if the operation is successful otherwise
false
.
UnsupportedOperationException
- if the setParent is not supported.public boolean containsId(Object itemId)
Container
containsId
in interface Container
itemId
- ID the of Item to be tested
public Item getItem(Object itemId)
Container
Item
with the given Item ID from the Container. If the
Container does not contain the requested Item, null
is
returned.
Containers should not return Items that are filtered out.
getItem
in interface Container
itemId
- ID of the Item
to retrieve
Item
with the given ID or null
if the
Item is not found in the Containerpublic Collection<File> getItemIds()
Container
Container.Ordered
, the collection returned by this
method should follow that order. If the container is Container.Sortable
,
the items should be in the sorted order.
Calling this method for large lazy containers can be an expensive
operation and should be avoided when practical.
getItemIds
in interface Container
public Property getContainerProperty(Object itemId, Object propertyId)
null
is returned.
getContainerProperty
in interface Container
itemId
- the ID of the file whose property is requested.propertyId
- the property's ID.
null
public Collection<String> getContainerPropertyIds()
getContainerPropertyIds
in interface Container
public Class<?> getType(Object propertyId)
String
,
"Size" is a Long
, "Last Modified" is a Date
. If
propertyId is not one of those, null
is returned.
getType
in interface Container
propertyId
- the ID of the property whose type is requested.
null
public int size()
size
in interface Container
public FilenameFilter getFilter()
public void setFilter(FilenameFilter filter)
filter
- The filter to set. null
disables filtering.public void setFilter(String extension)
extension
- the Filename extension (w/o separator) to limit the files in
container.public boolean isRecursive()
true
if container is recursive, false
otherwise.public void setRecursive(boolean recursive)
Note : This is meaningful only if the root really is a directory.
recursive
- the New value for recursive property.public boolean addContainerProperty(Object propertyId, Class<?> type, Object defaultValue) throws UnsupportedOperationException
Container
addContainerProperty
in interface Container
propertyId
- ID of the Propertytype
- Data type of the new PropertydefaultValue
- The value all created Properties are initialized to
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support explicitly adding container
propertiespublic Object addItem() throws UnsupportedOperationException
Container
The new ID is returned, or null
if the operation fails.
After a successful call you can use the
method to fetch the Item.
getItem
This functionality is optional.
addItem
in interface Container
null
in case of a
failure
UnsupportedOperationException
- if adding an item without an explicit item ID is not
supported by the containerpublic Item addItem(Object itemId) throws UnsupportedOperationException
Container
The new Item is returned, and it is ready to have its Properties
modified. Returns null
if the operation fails or the
Container already contains a Item with the given ID.
This functionality is optional.
addItem
in interface Container
itemId
- ID of the Item to be created
null
in case of a failure
UnsupportedOperationException
- if adding an item with an explicit item ID is not supported
by the containerpublic boolean removeAllItems() throws UnsupportedOperationException
Container
Note that Property ID and type information is preserved. This functionality is optional.
removeAllItems
in interface Container
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support removing all itemspublic boolean removeItem(Object itemId) throws UnsupportedOperationException
Container
ItemId
from the Container.
Containers that support filtering should also allow removing an item that is currently filtered out.
This functionality is optional.
removeItem
in interface Container
removeItem
in interface Container.Hierarchical
itemId
- ID of the Item to remove
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support removing individual itemspublic boolean removeContainerProperty(Object propertyId) throws UnsupportedOperationException
Container
removeContainerProperty
in interface Container
propertyId
- ID of the Property to remove
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support removing container
properties
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |