| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
  |
  +--org.openide.loaders.DataObject
        |
        +--org.openide.loaders.MultiDataObject
              |
              +--org.openide.loaders.InstanceDataObject
A data object whose only purpose is to supply InstanceCookie.
 The instances are created by default instantiation; the name of the class
 to instantiate is stored on disk, typically right in the file name.
 
This data object is generally used to configure menus and toolbars,
 though it could be used in any situation requiring instances to be present in
 a folder; for example, anything using FolderInstance.
 
Typical instance classes are subclasses of SystemAction to make
 menu items or toolbar buttons; JSeparator for a menu
 separator; or JToolBar.Separator for a toolbar
 separator.
 
Use create(org.openide.loaders.DataFolder, java.lang.String, java.lang.String) and remove(org.openide.loaders.DataFolder, java.lang.String, java.lang.String) to make the objects.
 Better yet, use an XML filesystem to install them declaratively.
| Inner classes inherited from class org.openide.loaders.MultiDataObject | 
MultiDataObject.Entry | 
| Inner classes inherited from class org.openide.loaders.DataObject | 
DataObject.Container, DataObject.Registry | 
| Inner classes inherited from class org.openide.cookies.InstanceCookie | 
InstanceCookie.Of, InstanceCookie.Origin | 
| Field Summary | |
static String | 
INSTANCE
File extension for instance data objects.  | 
| Fields inherited from class org.openide.loaders.DataObject | 
PROP_COOKIE, PROP_FILES, PROP_HELP, PROP_MODIFIED, PROP_NAME, PROP_PRIMARY_FILE, PROP_TEMPLATE, PROP_VALID | 
| Constructor Summary | |
InstanceDataObject(FileObject pf,
                   MultiFileLoader loader)
Create a new instance.  | 
|
| Method Summary | |
static InstanceDataObject | 
create(DataFolder folder,
       String name,
       Class clazz)
Create a new InstanceDataObject in a given folder. | 
static InstanceDataObject | 
create(DataFolder folder,
       String name,
       Object instance,
       ModuleInfo info)
Create a new InstanceDataObject containing settings
 in a given folder. | 
static InstanceDataObject | 
create(DataFolder folder,
       String name,
       String className)
Create a new InstanceDataObject in a given folder. | 
protected  Node | 
createNodeDelegate()
Provides node that should represent this data object.  | 
protected  void | 
dispose()
Allows subclasses to discard the object.  | 
static InstanceDataObject | 
find(DataFolder folder,
     String name,
     Class clazz)
Finds instance of specified name in a given folder.  | 
static InstanceDataObject | 
find(DataFolder folder,
     String name,
     String className)
Finds instance of specified name in a given folder.  | 
 Node.Cookie | 
getCookie(Class clazz)
Look for a cookie in the current cookie set matching the requested class.  | 
 HelpCtx | 
getHelpCtx()
Get help context for this object.  | 
 String | 
getName()
Get the name of the data object.  | 
protected  DataObject | 
handleCopy(DataFolder df)
Copies primary and secondary files to new folder.  | 
protected  DataObject | 
handleCreateFromTemplate(DataFolder df,
                         String name)
Create a new data object from template (implemented in subclasses).  | 
protected  void | 
handleDelete()
Delete this object (implemented by subclasses).  | 
protected  FileObject | 
handleRename(String name)
Rename this object (implemented in subclasses).  | 
 Class | 
instanceClass()
The representation type that may be created as instances.  | 
 Object | 
instanceCreate()
Create an instance.  | 
 String | 
instanceName()
The name of instanceClass(). | 
 boolean | 
instanceOf(Class type)
Query if this instance can create object of given type.  | 
static boolean | 
remove(DataFolder folder,
       String name,
       Class clazz)
Remove an existing instance data object.  | 
static boolean | 
remove(DataFolder folder,
       String name,
       String className)
Remove an existing instance data object.  | 
| Methods inherited from class org.openide.loaders.MultiDataObject | 
addSecondaryEntry, files, findSecondaryEntry, getCookieSet, getMultiFileLoader, getPrimaryEntry, handleMove, isCopyAllowed, isDeleteAllowed, isMoveAllowed, isRenameAllowed, registerEntry, removeSecondaryEntry, secondaryEntries, setCookieSet, takePrimaryFileLock | 
| Methods inherited from class org.openide.loaders.DataObject | 
addPropertyChangeListener, addVetoableChangeListener, copy, createFromTemplate, createFromTemplate, createShadow, delete, find, firePropertyChange, fireVetoableChange, getCookie, getFolder, getLoader, getNodeDelegate, getPrimaryFile, getRegistry, handleCreateShadow, isModified, isShadowAllowed, isTemplate, isValid, markFiles, move, removePropertyChangeListener, removeVetoableChangeListener, rename, setModified, setTemplate, setValid, toString, writeReplace | 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
public static final String INSTANCE
| Constructor Detail | 
public InstanceDataObject(FileObject pf,
                          MultiFileLoader loader)
                   throws DataObjectExistsException
create(org.openide.loaders.DataFolder, java.lang.String, java.lang.String).pf - primary file object for this data objectloader - the loaderDataObjectExistsException - if it already exists| Method Detail | 
public static InstanceDataObject find(DataFolder folder,
                                      String name,
                                      String className)
folder - the folder to create the instance data object inname - the name to give to the object (can be null if no special name besides the class name is needed)className - the name of the class the new object should provide an instance of
public static InstanceDataObject find(DataFolder folder,
                                      String name,
                                      Class clazz)
folder - the folder to create the instance data object inname - the name to give to the object (can be null if no special name besides the class name is needed)clazz - the class to create instance for (see class header for details)
public static InstanceDataObject create(DataFolder folder,
                                        String name,
                                        String className)
                                 throws IOException
InstanceDataObject in a given folder. If object with specified name already exists, it is returned.
 You should specify the name if there is a chance another file of the same
 instance class already exists in the folder; or just to provide a more
 descriptive name, which will appear in the Explorer for example.
 Note: use of XML layers to install instances is generally preferred.
folder - the folder to create the instance data object inname - the name to give to the object (can be null if no special name besides the class name is needed)
        but name cannot be emptyclassName - the name of the class the new object should provide an instance of (see class header for details)IOException - if the file cannot be created
public static InstanceDataObject create(DataFolder folder,
                                        String name,
                                        Class clazz)
                                 throws IOException
InstanceDataObject in a given folder. If object with specified name already exists, it is returned.
 You should specify the name if there is a chance another file of the same
 instance class already exists in the folder; or just to provide a more
 descriptive name, which will appear in the Explorer for example.
 Note: use of XML layers to install instances is generally preferred.
folder - the folder to create the instance data object inname - the name to give to the object (can be null if no special name besides the class name is needed)clazz - the class to create instance for (see class header for details)IOException - if the file cannot be created
public static InstanceDataObject create(DataFolder folder,
                                        String name,
                                        Object instance,
                                        ModuleInfo info)
                                 throws IOException
InstanceDataObject containing settings
 in a given folder. If object with specified name already exists, it is returned.
 If the module info is null then the origin module info
 of an instance class is tried to find out.
 Note: use of XML layers to install instances is generally preferred.
folder - the folder to create the instance data object inname - the name to give to the object (can be null if no special name besides the class name is needed)
        but name cannot be emptyinstance - the serializable instanceinfo - the module info describing the settings provenance (can be null)IOException - if the file cannot be created
public static boolean remove(DataFolder folder,
                             String name,
                             String className)
DataObject.delete();
 this method lets you delete an instance you do not have an exact record
 of the file name for, based on the same information used to create it.
 Note: use of XML layers to install instances is generally preferred.
folder - the folder to remove the file fromname - the name of the instance (can be null)className - the name of class the object referred to (see class header for details)true if the instance was succesfully removed, false if not
public static boolean remove(DataFolder folder,
                             String name,
                             Class clazz)
DataObject.delete();
 this method lets you delete an instance you do not have an exact record
 of the file name for, based on the same information used to create it.
 Note: use of XML layers to install instances is generally preferred.
folder - the folder to remove the file fromname - the name of the instance (can be null)className - the name of class the object referred to (see class header for details)true if the instance was succesfully removed, false if notpublic HelpCtx getHelpCtx()
DataObjectgetHelpCtx in class MultiDataObjectorg.openide.loaders.DataObjectprotected Node createNodeDelegate()
MultiDataObjectcreateNodeDelegate in class MultiDataObjectorg.openide.loaders.MultiDataObjectDataNodepublic Node.Cookie getCookie(Class clazz)
MultiDataObjectgetCookie in class MultiDataObjectorg.openide.loaders.MultiDataObjecttype - the class to look fornull if this class of cookie
    is not supportedpublic String instanceName()
InstanceCookieInstanceCookie.instanceClass().instanceName in interface InstanceCookieorg.openide.cookies.InstanceCookie
public Class instanceClass()
                    throws IOException,
                           ClassNotFoundException
InstanceCookieinstanceClass in interface InstanceCookieorg.openide.cookies.InstanceCookieIOException - if an I/O error occurredClassNotFoundException - if a class was not foundpublic boolean instanceOf(Class type)
instanceOf in interface InstanceCookie.Oftype - the type to create
public Object instanceCreate()
                      throws IOException,
                             ClassNotFoundException
InstanceCookieinstanceCreate in interface InstanceCookieorg.openide.cookies.InstanceCookieInstanceCookie.instanceClass() (or a subclass)IOException - if an I/O error occuredClassNotFoundException - if a class was not foundpublic String getName()
DataObjectThe default implementation uses the name of the primary file.
getName in class DataObjectorg.openide.loaders.DataObject
protected FileObject handleRename(String name)
                           throws IOException
DataObjecthandleRename in class MultiDataObjectorg.openide.loaders.DataObjectname - name to rename the object toIOException - if an error occures
protected DataObject handleCreateFromTemplate(DataFolder df,
                                              String name)
                                       throws IOException
DataObjecthandleCreateFromTemplate in class MultiDataObjectorg.openide.loaders.DataObjectdf - data folder to create object inname - name to give to the new object (or null
    if the name should be chosen according to the template)IOException - if an error occured
protected DataObject handleCopy(DataFolder df)
                         throws IOException
MultiDataObjecthandleCopy in class MultiDataObjectorg.openide.loaders.MultiDataObjectdf - the new folderIOException - if there was a problem copyingUserCancelException - if the user cancelled the copy
protected void handleDelete()
                     throws IOException
DataObjecthandleDelete in class MultiDataObjectorg.openide.loaders.DataObjectIOException - if an error occuresprotected void dispose()
DataObjectThe normal use of this method is to change the type of a data object. Because this would usually only be invoked from the original data object, it is protected.
dispose in class DataObject
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||