| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
  |
  +--org.openide.util.Task
        |
        +--org.openide.loaders.FolderInstance
Support class for creation of an object from the content
 of a DataObject.Container.
 It implements InstanceCookie, so it
 can be used as a cookie for a node or data object.
 
When created on a container and started by invoking run method, it scans its content (in a separate thread) and creates a list of instances from which the new instance of this object should be composed. The object automatically listens to changes of components in the container, and if some change occurs, it allows the subclass to create a new object.
| Inner classes inherited from class org.openide.cookies.InstanceCookie | 
InstanceCookie.Of, InstanceCookie.Origin | 
| Field Summary | |
protected  DataFolder | 
folder
Folder to work with.  | 
| Fields inherited from class org.openide.util.Task | 
EMPTY | 
| Constructor Summary | |
FolderInstance(DataFolder df)
Create new folder instance.  | 
|
FolderInstance(DataObject.Container container)
A new object that listens on changes in a container.  | 
|
| Method Summary | |
protected  InstanceCookie | 
acceptContainer(DataObject.Container container)
Allows subclasses to decide how they want to work with an object that implements a DataObject.Container.  | 
protected  InstanceCookie | 
acceptCookie(InstanceCookie cookie)
Allows subclasses to decide whether they want to work with the specified InstanceCookie or not. | 
protected  InstanceCookie | 
acceptDataObject(DataObject dob)
Allows subclasses to decide whether they want to work with the specified DataObject or not. | 
protected  InstanceCookie | 
acceptFolder(DataFolder df)
Allows subclasses to decide how they want to work with a provided folder.  | 
protected abstract  Object | 
createInstance(InstanceCookie[] cookies)
Notifies subclasses that the set of cookies for this folder has changed.  | 
 Class | 
instanceClass()
Returns the root class of all objects.  | 
 Object | 
instanceCreate()
Creates instance.  | 
 void | 
instanceFinished()
Wait for instance initialization to finish.  | 
protected  Object | 
instanceForCookie(DataObject obj,
                  InstanceCookie cookie)
Method that is called when a the folder instance really wants to create an object from provided cookie.  | 
 String | 
instanceName()
The name of the class that we create.  | 
protected  Task | 
postCreationTask(Runnable run)
Invokes the creation of objects in a "safe" thread.  | 
 void | 
recreate()
Starts recreation of the instance in special thread.  | 
 void | 
run()
Synchronously starts the creation of the instance.  | 
 void | 
waitFinished()
Overrides the instance finished to deal with internal state correctly.  | 
| Methods inherited from class org.openide.util.Task | 
addTaskListener, isFinished, notifyFinished, notifyRunning, removeTaskListener, toString | 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
protected DataFolder folder
| Constructor Detail | 
public FolderInstance(DataFolder df)
df - data folder to create instances frompublic FolderInstance(DataObject.Container container)
container - the object to associate with| Method Detail | 
public String instanceName()
instanceName in interface InstanceCookie
public Class instanceClass()
                    throws IOException,
                           ClassNotFoundException
instanceClass in interface InstanceCookieIOException - an I/O error occuredClassNotFoundException - the class has not been found
public Object instanceCreate()
                      throws IOException,
                             ClassNotFoundException
instanceCreate in interface InstanceCookieIOException - an I/O error occuredClassNotFoundException - the class has not been foundpublic final void instanceFinished()
public void waitFinished()
waitFinished in class Taskprotected InstanceCookie acceptDataObject(DataObject dob)
DataObject or not.dob - a DataObject to testDataObject or null
 if it should not be used
protected InstanceCookie acceptCookie(InstanceCookie cookie)
                               throws IOException,
                                      ClassNotFoundException
InstanceCookie or not.
 The default implementation simply
 returns the same cookie, but subclasses may
 decide to return null or a different cookie.
cookie - the instance cookie to testnull if this cookie should not
    be usedIOException - if an I/O error occurred calling a cookie methodClassNotFoundException - if a class is not found in a call to a cookie methodprotected InstanceCookie acceptFolder(DataFolder df)
df - data folder to create cookie fornull if this folder should not
    be usedprotected InstanceCookie acceptContainer(DataObject.Container container)
By default this returns null to indicated that subfolders should be ignored.
container - the container to accept or notnull if this object should
 be ignored
protected abstract Object createInstance(InstanceCookie[] cookies)
                                  throws IOException,
                                         ClassNotFoundException
cookies - updated array of instance cookies for the folderIOException - an I/O error occuredClassNotFoundException - a class has not been found
protected Object instanceForCookie(DataObject obj,
                                   InstanceCookie cookie)
                            throws IOException,
                                   ClassNotFoundException
obj - the data object that is the source of the cookiecookie - the instance cookie to read the instance fromIOException - when there I/O errorClassNotFoundException - if the class cannot be foundpublic void recreate()
public void run()
run in class Taskprotected Task postCreationTask(Runnable run)
Default implementation uses request processor static private in this class.
run - runnable to run
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||