站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > NetBeans API Javadoc 4.1.0

XMLFileSystem (NetBeans APIs) - NetBeans API Javadoc 4.1.0


org.openide.filesystems
Class XMLFileSystem

java.lang.Object
  extended byorg.openide.filesystems.FileSystem
      extended byorg.openide.filesystems.AbstractFileSystem
          extended byorg.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 inherited from class org.openide.filesystems.AbstractFileSystem
AbstractFileSystem.Attr, AbstractFileSystem.Change, AbstractFileSystem.Info, AbstractFileSystem.List, AbstractFileSystem.Transfer
 
Nested classes 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)
          Deprecated. experimental method. Nobody should rely on this method yet.
 
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
Deprecated. experimental method. Nobody should rely on this method yet.

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


Built on May 4 2005.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.