Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.openide.filesystems 6.4.22
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.openide.filesystems
Class XMLFileSystem

    java.lang.Object
      org.openide.filesystems.FileSystem
          org.openide.filesystems.AbstractFileSystem
              org.openide.filesystems.XMLFileSystem

All Implemented Interfaces:
  Serializable

    public final class XMLFileSystem

extends AbstractFileSystem

XML-based filesystem.

      Description of format of XML file (which can be parsed by XMLFileSystem)
     ==================================================================
     Allowed Elements:        filesystem,file,folder,attr

     Mandatory attributes:
             -for filesystem    version=... (e.g. "1.0")
             -for file,folder,attr name=....  (e.g.: <folder name="Config">)
             -for attr is mandatory one of bytevalue,shortvalue,intvalue,longvalue,floatvalue,doublevalue,boolvalue,charvalue,stringvalue,methodvalue,serialvalue,urlvalue

     Allowed atributes:
             -for file:        url=.... (e.g.: <file name="sample.xml" url="file:/c:/sample.xml">)
             -for folder,filesystem        nothing allowed

     Note: file can contain         content e.g.:
      < file name="sample.java">
     < ![CDATA[
     package org.sample;
     import java.io;
     ]]>
     < /file>
     But using url="..." is preferred.

     This class implements virtual FileSystem. It is special case of FileSystem in XML format.

     Description of this format best ilustrate DTD file that is showed in next lines:
     < !ELEMENT filesystem (file | folder)*>
     < !ATTLIST filesystem version CDATA #REQUIRED> //version not checkked yet
     < !ELEMENT folder (file |folder | attr)*>
     < !ATTLIST folder name CDATA #REQUIRED> //name of folder
     < !ELEMENT file (#PCDATA | attr)*>
     < !ATTLIST file name CDATA #REQUIRED> //name of file
     < !ATTLIST file url CDATA #IMPLIED> //content of the file can be find at url
     < !ELEMENT attr EMPTY>
     < !ATTLIST attr name CDATA #REQUIRED> //name of attribute
     < !ATTLIST attr bytevalue CDATA #IMPLIED>//the rest - types of attributes
     < !ATTLIST attr shortvalue CDATA #IMPLIED>
     < !ATTLIST attr intvalue CDATA #IMPLIED>
     < !ATTLIST attribute longvalue CDATA #IMPLIED>
     < !ATTLIST attr floatvalue CDATA #IMPLIED>
     < !ATTLIST attr doublevalue CDATA #IMPLIED>
     < !ATTLIST attr boolvalue CDATA #IMPLIED>
     < !ATTLIST attr charvalue CDATA #IMPLIED>
     < !ATTLIST attr stringvalue CDATA #IMPLIED>
     < !ATTLIST attr methodvalue CDATA #IMPLIED>
     < !ATTLIST attr serialvalue CDATA #IMPLIED>
     < !ATTLIST attr urlvalue CDATA #IMPLIED>

See Also:
  Serialized Form

Nested Class Summary
`static class` | `XMLFileSystem.Impl` Implementation of all interfaces List, Change, Info and Attr that delegates to XMLFileSystem

Nested classes/interfaces inherited from class org.openide.filesystems.AbstractFileSystem
`AbstractFileSystem.Attr, AbstractFileSystem.Change, AbstractFileSystem.Info, AbstractFileSystem.List, AbstractFileSystem.Transfer`

Nested classes/interfaces inherited from class org.openide.filesystems.FileSystem
`FileSystem.AtomicAction, FileSystem.Environment, FileSystem.HtmlStatus, FileSystem.Status`

Field Summary

Fields inherited from class org.openide.filesystems.AbstractFileSystem
`attr, change, info, list, transfer`

Fields inherited from class org.openide.filesystems.FileSystem
`PROP_DISPLAY_NAME, PROP_HIDDEN, PROP_READ_ONLY, PROP_ROOT, PROP_SYSTEM_NAME, PROP_VALID`

Constructor Summary
`XMLFileSystem()` Constructor.
`XMLFileSystem(FileSystemCapability cap)` Deprecated. Useless.
`XMLFileSystem(String uri)` Constructor.
`XMLFileSystem(URL url)` Constructor.

Method Summary
`void` | `addNotify()` Notifies this filesystem that it has been added to the repository.
`protected Reference` | `createReference(FileObject fo)` Creates Reference.
`String` | `getDisplayName()` Provides a name for the system that can be presented to the user.
`URL` | `getXmlUrl()` Getter of url field.
`URL[]` | `getXmlUrls()` Deprecated. experimental method. Nobody should rely on this method yet.
`boolean` | `isReadOnly()` Test if the filesystem is read-only or not.
`void` | `removeNotify()` Notifies this filesystem that it has been removed from the repository.
`void` | `setXmlUrl(URL url)` Setter of url field.
`void` | `setXmlUrl(URL url, boolean validate)` Setter of url field.
`void` | `setXmlUrls(URL[] urls)` Setter of url fields.

Methods inherited from class org.openide.filesystems.AbstractFileSystem
`canRead, canWrite, checkVirtual, existingFileObjects, find, findReference, findResource, getActions, getRefreshTime, getRoot, markImportant, refresh, refreshResource, refreshRoot, setRefreshTime`

Methods inherited from class org.openide.filesystems.FileSystem
`addFileChangeListener, addFileStatusListener, addPropertyChangeListener, addVetoableChangeListener, fireFileStatusChanged, firePropertyChange, fireVetoableChange, getActions, getCapability, getStatus, getSystemName, isDefault, isHidden, isPersistent, isValid, prepareEnvironment, removeFileChangeListener, removeFileStatusListener, removePropertyChangeListener, removeVetoableChangeListener, runAtomicAction, setCapability, setHidden, setSystemName, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XMLFileSystem

    public XMLFileSystem()

  Constructor. Creates new XMLFileSystem

### XMLFileSystem

    public XMLFileSystem(String uri)
                  throws SAXException

  Constructor. Creates new XMLFileSystem.

  Parameters:
    `uri` - to file with definition of XMLFileSystem
  Throws:
    `SAXException` - if parsing is not succesful

### XMLFileSystem

    public XMLFileSystem(URL url)
                  throws SAXException

  Constructor. Creates new XMLFileSystem.

  Parameters:
    `url` - to definition of XMLFileSystem
  Throws:
    `SAXException` - if parsing not succesful

### XMLFileSystem

    public XMLFileSystem(FileSystemCapability cap)

  Deprecated. Useless.

  Constructor. Allows user to provide own capabilities for this filesystem.

  Parameters:
    `cap` - capabilities for this filesystem

Method Detail

### getXmlUrl

    public URL getXmlUrl()

  Getter of url field.

  Returns:
    URL associated with XMLFileSystem or null if no URL was set. In case that definition of XMLFileSystem is merged from more URLs than the first is returned.

### setXmlUrl

    public void setXmlUrl(URL url)
                   throws IOException,
                          PropertyVetoException

  Setter of url field. Set name of the XML file.

  Parameters:
    `url` - with definition of XMLFileSystem
  Throws:
    `PropertyVetoException` - if the change is not allowed by a listener
    `IOException` - if the file is not valid

### setXmlUrl

    public void setXmlUrl(URL url,
                          boolean validate)
                   throws IOException,
                          PropertyVetoException

  Setter of url field. Set name of the XML file.

  Parameters:
    `url` - with definition of XMLFileSystem
    `validate` - sets validating of SAXParser
  Throws:
    `PropertyVetoException` - if the change is not allowed by a listener
    `IOException` - if the file is not valid

### getXmlUrls

    public URL[] getXmlUrls()

  Deprecated. experimental method. Nobody should rely on this method yet.

  Getter of url fields.

  Returns:
    URLs associated with XMLFileSystem.
  Since:
    1.14

### setXmlUrls

    public void setXmlUrls(URL[] urls)
                    throws IOException,
                           PropertyVetoException

  Setter of url fields. First URL in array sets name of XMLFileSystem. If more then one url in array of URLs defines the same FileObject, then url with lower index in array overrides (means content and attributes) the other.

  Parameters:
    `urls` - array of definitions (in xml form) of XMLFileSystem
  Throws:
    `IOException` - if the file is not valid
    `PropertyVetoException` - if the change is not allowed by a listener
  Since:
    1.14

### getDisplayName

    public String getDisplayName()

  Provides a name for the system that can be presented to the user.

  Specified by:
    `getDisplayName` in class `AbstractFileSystem`
  Returns:
    user presentable name of the filesystem

### isReadOnly

    public boolean isReadOnly()

  Test if the filesystem is read-only or not.

  Specified by:
    `isReadOnly` in class `FileSystem`
  Returns:
    true if the system is read-only

### addNotify

    public void addNotify()

  Notifies this filesystem that it has been added to the repository. Various initialization tasks should go here. Default implementation is noop.

  Overrides:
    `addNotify` in class `FileSystem`

### removeNotify

    public void removeNotify()

  Notifies this filesystem that it has been removed from the repository. Concrete filesystem implementations should perform clean-up here. Default implementation is noop.

  Overrides:
    `removeNotify` in class `FileSystem`

### createReference

    protected Reference createReference(FileObject fo)

  Description copied from class: `AbstractFileSystem`
  Creates Reference. In FileSystem, which subclasses AbstractFileSystem, you can overload method createReference(FileObject fo) to achieve another type of Reference (weak, strong etc.)

  Overrides:
    `createReference` in class `AbstractFileSystem`
  Parameters:
    `fo` - is FileObject. It`s reference yourequire to get.
  Returns:
    Reference to FileObject

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.openide.filesystems 6.4.22
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Built on December 7 2006. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.