javax.swing
Class UIDefaults.ProxyLazyValue

java.lang.Object
  extended byjavax.swing.UIDefaults.ProxyLazyValue
All Implemented Interfaces:
UIDefaults.LazyValue
Enclosing class:
UIDefaults

public static class UIDefaults.ProxyLazyValue
extends Object
implements UIDefaults.LazyValue

This class provides an implementation of LazyValue which can be used to delay loading of the Class for the instance to be created. It also avoids creation of an anonymous inner class for the LazyValue subclass. Both of these improve performance at the time that a a Look and Feel is loaded, at the cost of a slight performance reduction the first time createValue is called (since Reflection APIs are used).


Field Summary
private  java.security.AccessControlContext acc
           
private  Object[] args
           
private  String className
           
private  String methodName
           
 
Constructor Summary
UIDefaults.ProxyLazyValue(String c)
          Creates a LazyValue which will construct an instance when asked.
UIDefaults.ProxyLazyValue(String c, Object[] o)
          Creates a LazyValue which will construct an instance when asked.
UIDefaults.ProxyLazyValue(String c, String m)
          Creates a LazyValue which will construct an instance when asked.
UIDefaults.ProxyLazyValue(String c, String m, Object[] o)
          Creates a LazyValue which will construct an instance when asked.
 
Method Summary
 Object createValue(UIDefaults table)
          Creates the value retrieved from the UIDefaults table.
private  Class[] getClassArray(Object[] args)
           
private  String printArgs(Object[] array)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

acc

private java.security.AccessControlContext acc

className

private String className

methodName

private String methodName

args

private Object[] args
Constructor Detail

UIDefaults.ProxyLazyValue

public UIDefaults.ProxyLazyValue(String c)
Creates a LazyValue which will construct an instance when asked.

Parameters:
c - a String specifying the classname of the instance to be created on demand

UIDefaults.ProxyLazyValue

public UIDefaults.ProxyLazyValue(String c,
                                 String m)
Creates a LazyValue which will construct an instance when asked.

Parameters:
c - a String specifying the classname of the class containing a static method to be called for instance creation
m - a String specifying the static method to be called on class c

UIDefaults.ProxyLazyValue

public UIDefaults.ProxyLazyValue(String c,
                                 Object[] o)
Creates a LazyValue which will construct an instance when asked.

Parameters:
c - a String specifying the classname of the instance to be created on demand
o - an array of Objects to be passed as paramaters to the constructor in class c

UIDefaults.ProxyLazyValue

public UIDefaults.ProxyLazyValue(String c,
                                 String m,
                                 Object[] o)
Creates a LazyValue which will construct an instance when asked.

Parameters:
c - a String specifying the classname of the class containing a static method to be called for instance creation.
m - a String specifying the static method to be called on class c
o - an array of Objects to be passed as paramaters to the static method in class c
Method Detail

createValue

public Object createValue(UIDefaults table)
Creates the value retrieved from the UIDefaults table. The object is created each time it is accessed.

Specified by:
createValue in interface UIDefaults.LazyValue
Parameters:
table - a UIDefaults table
Returns:
the created Object

getClassArray

private Class[] getClassArray(Object[] args)

printArgs

private String printArgs(Object[] array)