org.openide.filesystems
Class DefaultAttributes

java.lang.Object
  |
  +--org.openide.filesystems.DefaultAttributes
All Implemented Interfaces:
AbstractFileSystem.Attr, AbstractFileSystem.List, Serializable

public class DefaultAttributes
extends Object
implements AbstractFileSystem.Attr, AbstractFileSystem.List

Implementation of AbstractFileSystem.Attr using a special file in each folder for holding attributes. It needs to hide the file from the rest of system, so it also implements AbstractFileSystem.List to exclude the file from the children list (it can then serve to filter a plain list implementation). Description of format of special file ilustrates best DTD file that is showed in next lines:

See Also:
Serialized Form

Field Summary
static String ATTR_EXT
          Deprecated. does not handle XML attributes
static String ATTR_NAME
          Deprecated. does not handle XML attributes
static String ATTR_NAME_EXT
          Deprecated. does not handle XML attributes
 
Fields inherited from interface org.openide.filesystems.AbstractFileSystem.Attr
serialVersionUID
 
Fields inherited from interface org.openide.filesystems.AbstractFileSystem.List
serialVersionUID
 
Constructor Summary
DefaultAttributes(AbstractFileSystem.Info info, AbstractFileSystem.Change change, AbstractFileSystem.List list)
          Constructor.
 
Method Summary
 Enumeration attributes(String name)
          Get all file attribute names for the file.
 String[] children(String f)
          Get the children list, filtering out the special attributes file.
 void deleteAttributes(String name)
          Called when a file is deleted, to also delete its attributes.
 Object readAttribute(String name, String attrName)
          Get the file attribute with the specified name.
 void renameAttributes(String oldName, String newName)
          Called when a file is renamed, to appropriately update its attributes.
 void writeAttribute(String name, String attrName, Object value)
          Set the file attribute with the specified name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTR_NAME

public static final String ATTR_NAME
Deprecated. does not handle XML attributes

File name of special file in each folder where attributes are saved.

ATTR_EXT

public static final String ATTR_EXT
Deprecated. does not handle XML attributes

Extension of special file in each folder where attributes are saved.

ATTR_NAME_EXT

public static final String ATTR_NAME_EXT
Deprecated. does not handle XML attributes

Name with extension of special file in each folder where attributes are saved.
Constructor Detail

DefaultAttributes

public DefaultAttributes(AbstractFileSystem.Info info,
                         AbstractFileSystem.Change change,
                         AbstractFileSystem.List list)
Constructor.
Parameters:
info - file object information to use
change - file change hooks to use
list - list to filter (can be null, but then this object cannot work as a list)
Method Detail

children

public String[] children(String f)
Get the children list, filtering out the special attributes file. You must have provided a non-null AbstractFileSystem.List in the constructor for this to work. If you did not, the rest of the class will work fine, but this method should not be called and this object should not be used as a List implementation.
Specified by:
children in interface AbstractFileSystem.List
Parameters:
f - the folder, by name; e.g. top/next/afterthat
Returns:
a list of children of the folder, as file.ext (no path)

readAttribute

public Object readAttribute(String name,
                            String attrName)
Description copied from interface: AbstractFileSystem.Attr
Get the file attribute with the specified name.
Specified by:
readAttribute in interface AbstractFileSystem.Attr
Following copied from interface: org.openide.filesystems.AbstractFileSystem.Attr
Parameters:
name - the file
attrName - name of the attribute
Returns:
appropriate (serializable) value or null if the attribute is unset (or could not be properly restored for some reason)

writeAttribute

public void writeAttribute(String name,
                           String attrName,
                           Object value)
                    throws IOException
Description copied from interface: AbstractFileSystem.Attr
Set the file attribute with the specified name.
Specified by:
writeAttribute in interface AbstractFileSystem.Attr
Following copied from interface: org.openide.filesystems.AbstractFileSystem.Attr
Parameters:
name - the file
attrName - name of the attribute
value - new value or null to clear the attribute. Must be serializable, although particular file systems may or may not use serialization to store attribute values.
Throws:
IOException - if the attribute cannot be set. If serialization is used to store it, this may in fact be a subclass such as NotSerializableException.

attributes

public Enumeration attributes(String name)
Description copied from interface: AbstractFileSystem.Attr
Get all file attribute names for the file.
Specified by:
attributes in interface AbstractFileSystem.Attr
Following copied from interface: org.openide.filesystems.AbstractFileSystem.Attr
Parameters:
name - the file
Returns:
enumeration of keys (as strings)

renameAttributes

public void renameAttributes(String oldName,
                             String newName)
Description copied from interface: AbstractFileSystem.Attr
Called when a file is renamed, to appropriately update its attributes.
Specified by:
renameAttributes in interface AbstractFileSystem.Attr
Following copied from interface: org.openide.filesystems.AbstractFileSystem.Attr
Parameters:
oldName - old name of the file
newName - new name of the file

deleteAttributes

public void deleteAttributes(String name)
Description copied from interface: AbstractFileSystem.Attr
Called when a file is deleted, to also delete its attributes.
Specified by:
deleteAttributes in interface AbstractFileSystem.Attr
Following copied from interface: org.openide.filesystems.AbstractFileSystem.Attr
Parameters:
name - name of the file


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.