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).
public ProxyLazyValue(String c)
Creates a LazyValue
which will construct an instance when asked.
c
- a String
specifying the classname of the instance to be created on demandpublic ProxyLazyValue(String c, String m)
Creates a LazyValue
which will construct an instance when asked.
c
- a String
specifying the classname of the class containing a static method to be called for instance creationm
- a String
specifying the static method to be called on class cpublic ProxyLazyValue(String c, Object[] o)
Creates a LazyValue
which will construct an instance when asked.
c
- a String
specifying the classname of the instance to be created on demando
- an array of Objects
to be passed as paramaters to the constructor in class cpublic ProxyLazyValue(String c, String m, Object[] o)
Creates a LazyValue
which will construct an instance when asked.
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 co
- an array of Objects
to be passed as paramaters to the static method in class cpublic Object createValue(UIDefaults table)
Creates the value retrieved from the UIDefaults
table. The object is created each time it is accessed.
createValue
in interface UIDefaults.LazyValue
table
- a UIDefaults
tableObject
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.