org.openide.loaders
Class InstanceSupport

java.lang.Object
  |
  +--org.openide.loaders.InstanceSupport
All Implemented Interfaces:
InstanceCookie, Node.Cookie
Direct Known Subclasses:
InstanceSupport.Origin

public class InstanceSupport
extends Object
implements InstanceCookie

An instance cookie implementation that works with files or entries.


Inner Class Summary
static class InstanceSupport.Instance
          Trivial supporting instance cookie for already-existing objects.
static class InstanceSupport.Origin
          Enhanced instance cookie support that also knows the file it has been created from and can be serialized back to.
 
Inner classes inherited from class org.openide.cookies.InstanceCookie
InstanceCookie.Origin
 
Constructor Summary
InstanceSupport(MultiDataObject.Entry entry)
          New support for given entry.
 
Method Summary
protected  ClassLoader createClassLoader()
          Creates new NbClassLoader with restricted PermissionCollection that contains only: java.io.FilePermission("<>", "read") java.util.PropertyPermission("*", "read")
static HelpCtx findHelp(InstanceCookie instance)
          Find context help for some instance.
 Class instanceClass()
          The representation type that may be created as instances.
 Object instanceCreate()
          Create an instance.
 String instanceName()
          The bean name for the instance.
 FileObject instanceOrigin()
          Returns the origin of the instance.
 boolean isApplet()
          Is this an applet?
 boolean isExecutable()
          Is this a standalone executable?
 boolean isInterface()
          Is this an interface?
 boolean isJavaBean()
          Is this a JavaBean?
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InstanceSupport

public InstanceSupport(MultiDataObject.Entry entry)
New support for given entry. The file is taken from the entry and is updated if the entry moves or renames itself.
Parameters:
entry - entry to create instance from
Method Detail

instanceName

public String instanceName()
Description copied from interface: InstanceCookie
The bean name for the instance.
Specified by:
instanceName in interface InstanceCookie
Following copied from interface: org.openide.cookies.InstanceCookie
Returns:
the name

instanceClass

public Class instanceClass()
                    throws IOException,
                           ClassNotFoundException
Description copied from interface: InstanceCookie
The representation type that may be created as instances. Can be used to test whether the instance is of an appropriate class without actually creating it.
Specified by:
instanceClass in interface InstanceCookie
Following copied from interface: org.openide.cookies.InstanceCookie
Returns:
the representation class of the instance
Throws:
IOException - if an I/O error occurred
ClassNotFoundException - if a class was not found

instanceOrigin

public FileObject instanceOrigin()
Returns the origin of the instance.
Returns:
the origin
See Also:
InstanceCookie.Origin#instanceOrigin

instanceCreate

public Object instanceCreate()
                      throws IOException,
                             ClassNotFoundException
Description copied from interface: InstanceCookie
Create an instance.
Specified by:
instanceCreate in interface InstanceCookie
Following copied from interface: org.openide.cookies.InstanceCookie
Returns:
the instance of type InstanceCookie.instanceClass()
Throws:
IOException - if an I/O error occured
ClassNotFoundException - if a class was not found

isApplet

public boolean isApplet()
Is this an applet?
Returns:
true if this class is an Applet

isExecutable

public boolean isExecutable()
Is this a standalone executable?
Returns:
true if this class has main method (e.g., public static void main (String[] arguments)).

isJavaBean

public boolean isJavaBean()
Is this a JavaBean?
Returns:
true if this class represents JavaBean (is public and has a public default constructor).

isInterface

public boolean isInterface()
Is this an interface?
Returns:
true if the class is an interface

toString

public String toString()
Overrides:
toString in class Object

findHelp

public static HelpCtx findHelp(InstanceCookie instance)
Find context help for some instance. Helper method useful in nodes or data objects that provide an instance cookie; they may choose to supply their own help context based on this. All API classes which can provide help contexts will be tested for (including HelpCtx instances themselves). JComponents are checked for an attached help ID property, as with HelpCtx.findHelp(java.awt.Component) (but not traversing parents).

Also, partial compliance with the JavaHelp section on JavaBeans help is implemented--i.e., if a Bean in its BeanInfo provides a BeanDescriptor which has the attribute helpID, this will be returned. The value is not defaulted (because it would usually be nonsense and would mask a useful default help for the instance container), nor is the help set specification checked, since someone should have installed the proper help set anyway, and the APIs cannot add a new reference to a help set automatically. See javax.help.HelpUtilities.getIDStringFromBean for details.

Special IDs are added, corresponding to the class name, for all standard visual components.

Parameters:
instance - the instance to check for help (it is permissible for the InstanceCookie.instanceCreate() to return null)
Returns:
the help context found on the instance or inferred from a Bean, or null if none was found (or it was HelpCtx.DEFAULT_HELP)

createClassLoader

protected ClassLoader createClassLoader()
Creates new NbClassLoader with restricted PermissionCollection that contains only: java.io.FilePermission("<>", "read") java.util.PropertyPermission("*", "read")
Returns:
ClassLoader


Built on February 22 2001.  |  Portions Copyright 1997-2000 Sun Microsystems, Inc. All rights reserved.