org.openide.loaders
Class FolderLookup
java.lang.Object
|
+--org.openide.util.Task
|
+--org.openide.loaders.FolderInstance
|
+--org.openide.loaders.FolderLookup
- All Implemented Interfaces:
- InstanceCookie, Node.Cookie, Runnable
- public class FolderLookup
- extends FolderInstance
Implements a lookup, that scans a content of a folder for its
data objects and asks them for instance cookie, the created objects
are then used to for the content of the lookup.
Any instances which are in fact instances of Lookup
will be proxied to, permitting one file to generate many instances
in the lookup system easily.
- Since:
- 1.11
Fields inherited from class org.openide.util.Task |
EMPTY |
FolderLookup
public FolderLookup(DataObject.Container df)
- Constructs the FolderLookup for given container. A default ID prefix is
used for identification of located items.
- Parameters:
df
- container (or folder) to work on
FolderLookup
public FolderLookup(DataObject.Container df,
String prefix)
- Constructs the FolderLookup for given container.
- Parameters:
df
- container (or folder) to work onprefix
- the prefix to use
instanceClass
public final Class instanceClass()
- The correct class that this folder recognizes.
- Overrides:
instanceClass
in class FolderInstance
- Returns:
- Proxy.Lkp class.
getLookup
public final Lookup getLookup()
- Getter for the lookup, that should be used.
createInstance
protected final Object createInstance(InstanceCookie[] cookies)
throws IOException,
ClassNotFoundException
- Updates the content of the lookup.
- Overrides:
createInstance
in class FolderInstance
- Parameters:
cookies
- updated array of instance cookies for the folder- Returns:
- object to represent these cookies
- Throws:
IOException
- an I/O error occuredClassNotFoundException
- a class has not been found
instanceForCookie
protected Object instanceForCookie(DataObject dobj,
InstanceCookie cookie)
throws IOException,
ClassNotFoundException
- Overrides superclass method. It returns instance
for
DataObject
&InstanceCookie
'pair'.
If the instance is of FolderLookup.Lkp
class it is created otherwise
new Lkp.ICItem
created and returned.
- Overrides:
instanceForCookie
in class FolderInstance
- Parameters:
obj
- the data object that is the source of the cookiecookie
- the instance cookie to read the instance from- Throws:
IOException
- when there I/O errorClassNotFoundException
- if the class cannot be found
acceptFolder
protected InstanceCookie acceptFolder(DataFolder df)
- Folder is recognized as underlying
FolderLookup
which passes
its items to parent FolderLookup
.
- Overrides:
acceptFolder
in class FolderInstance
- Parameters:
df
- the folder found- Returns:
- new FolderLookup
acceptContainer
protected InstanceCookie acceptContainer(DataObject.Container df)
- Container is recognized as underlying
FolderLookup
which passes
its items to parent FolderLookup
.
- Overrides:
acceptContainer
in class FolderInstance
- Parameters:
df
- the container found- Returns:
- new FolderLookup
postCreationTask
protected final Task postCreationTask(Runnable run)
- Starts the creation of the object in the Folder recognizer thread.
Doing all the lookup stuff in one thread should prevent deadlocks,
but because we call unknown data loaders, they obviously must be
implemented in correct way.
- Overrides:
postCreationTask
in class FolderInstance
- Parameters:
run
- runable to start- Returns:
null
, because the runnable is started immediatelly
Built on December 12 2001. | Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.