|
||||||||||
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 folder.
It implements InstanceCookie
, so it
can be used as a cookie for a node or data object.
When created on a folder 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 folder, and if some change occurs, it allows the subclass to create a new object.
Inner classes inherited from class org.openide.cookies.InstanceCookie |
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. |
Method Summary | |
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()
The representation type that may be created as instances. |
Object |
instanceCreate()
Create an 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()
Full name of the data folder's primary file, separated by periods. |
void |
recreate()
Starts recreation of the instance in special thread. |
Methods inherited from class org.openide.util.Task |
addTaskListener, isFinished, notifyFinished, removeTaskListener, run, toString, waitFinished |
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 fromMethod Detail |
public String instanceName()
instanceName
in interface InstanceCookie
public Class instanceClass() throws IOException, ClassNotFoundException
InstanceCookie
instanceClass
in interface InstanceCookie
org.openide.cookies.InstanceCookie
IOException
- if an I/O error occurredClassNotFoundException
- if a class was not foundpublic Object instanceCreate() throws IOException, ClassNotFoundException
InstanceCookie
instanceCreate
in interface InstanceCookie
org.openide.cookies.InstanceCookie
InstanceCookie.instanceClass()
IOException
- if an I/O error occuredClassNotFoundException
- if a class was not foundpublic final void instanceFinished()
protected InstanceCookie acceptDataObject(DataObject dob)
DataObject
or not.dob
- a DataObject
to testDataObject
or null
if it should not be usedprotected 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)
null
to
indicate that folders should not be recursed,
but subclasses can do otherwise.df
- data folder to create cookie fornull
if this folder should not
be usedprotected 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 foundpublic void recreate()
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 found
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |