Java Doc for LazyDynaMap.java in  » Library » Apache-commons-beanutils-1.8.0-BETA-src » org » apache » commons » beanutils » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Library » Apache commons beanutils 1.8.0 BETA src » org.apache.commons.beanutils 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.commons.beanutils.LazyDynaBean
      org.apache.commons.beanutils.LazyDynaMap

LazyDynaMap
public class LazyDynaMap extends LazyDynaBean implements MutableDynaClass(Code)

Provides a light weight DynaBean facade to a Map with lazy map/list processing.

Its a light weight DynaBean implementation because there is no actual DynaClass associated with this DynaBean - in fact it implements the DynaClass interface itself providing pseudo DynaClass behaviour from the actual values stored in the Map.

As well providing rhe standard DynaBean access to the Map's properties this class also provides the usual Lazy behaviour:

  • Properties don't need to be pre-defined in a DynaClass
  • Indexed properties (Lists or Arrays) are automatically instantiated and grown so that they are large enough to cater for the index being set.
  • Mapped properties are automatically instantiated.

Restricted DynaClass

This class implements the MutableDynaClass interface. MutableDynaClass have a facility to restrict the DynaClass so that its properties cannot be modified. If the MutableDynaClass is restricted then calling any of the set() methods for a property which doesn't exist will result in a IllegalArgumentException being thrown.


author:
   Niall Pemberton


Field Summary
protected  Stringname
     The name of this DynaClass (analogous to the getName() method of java.lang.Class).
protected  booleanrestricted
     Controls whether changes to this DynaClass's properties are allowed.
protected  booleanreturnNull
    

Controls whether the getDynaProperty() method returns null if a property doesn't exist - or creates a new one.

Default is false.


Constructor Summary
public  LazyDynaMap()
     Default Constructor.
public  LazyDynaMap(String name)
     Construct a new LazyDynaMap with the specified name.
public  LazyDynaMap(Map values)
     Construct a new LazyDynaMap with the specified Map.
public  LazyDynaMap(String name, Map values)
     Construct a new LazyDynaMap with the specified name and Map.
public  LazyDynaMap(DynaProperty[] properties)
     Construct a new LazyDynaMap with the specified properties.
public  LazyDynaMap(String name, DynaProperty[] properties)
     Construct a new LazyDynaMap with the specified name and properties.
public  LazyDynaMap(DynaClass dynaClass)
    

Method Summary
public  voidadd(String name)
     Add a new dynamic property with no restrictions on data type, readability, or writeability.
public  voidadd(String name, Class type)
     Add a new dynamic property with the specified data type, but with no restrictions on readability or writeability.
public  voidadd(String name, Class type, boolean readable, boolean writeable)
    
protected  voidadd(DynaProperty property)
     Add a new dynamic property.
public  DynaProperty[]getDynaProperties()
    

Return an array of ProperyDescriptors for the properties currently defined in this DynaClass.

public  DynaPropertygetDynaProperty(String name)
    

Return a property descriptor for the specified property.

If the property is not found and the returnNull indicator is true, this method always returns null.

If the property is not found and the returnNull indicator is false a new property descriptor is created and returned (although its not actually added to the DynaClass's properties).

public  MapgetMap()
    
public  StringgetName()
    
protected  booleanisDynaProperty(String name)
    
public  booleanisRestricted()
    
public  booleanisReturnNull()
     Should this DynaClass return a null from the getDynaProperty(name) method if the property doesn't exist.
public  DynaBeannewInstance()
     Instantiate and return a new DynaBean instance, associated with this DynaClass.
public  voidremove(String name)
     Remove the specified dynamic property, and any associated data type, readability, and writeability, from this dynamic class.
public  voidset(String name, Object value)
     Set the value of a simple property with the specified name.
public  voidsetMap(Map values)
    
public  voidsetRestricted(boolean restricted)
    
public  voidsetReturnNull(boolean returnNull)
     Set whether this DynaClass should return a null from the getDynaProperty(name) method if the property doesn't exist.

Field Detail
name
protected String name(Code)
The name of this DynaClass (analogous to the getName() method of java.lang.Class).



restricted
protected boolean restricted(Code)
Controls whether changes to this DynaClass's properties are allowed.



returnNull
protected boolean returnNull(Code)

Controls whether the getDynaProperty() method returns null if a property doesn't exist - or creates a new one.

Default is false.





Constructor Detail
LazyDynaMap
public LazyDynaMap()(Code)
Default Constructor.



LazyDynaMap
public LazyDynaMap(String name)(Code)
Construct a new LazyDynaMap with the specified name.
Parameters:
  name - Name of this DynaBean class



LazyDynaMap
public LazyDynaMap(Map values)(Code)
Construct a new LazyDynaMap with the specified Map.
Parameters:
  values - The Map backing this LazyDynaMap



LazyDynaMap
public LazyDynaMap(String name, Map values)(Code)
Construct a new LazyDynaMap with the specified name and Map.
Parameters:
  name - Name of this DynaBean class
Parameters:
  values - The Map backing this LazyDynaMap



LazyDynaMap
public LazyDynaMap(DynaProperty[] properties)(Code)
Construct a new LazyDynaMap with the specified properties.
Parameters:
  properties - Property descriptors for the supported properties



LazyDynaMap
public LazyDynaMap(String name, DynaProperty[] properties)(Code)
Construct a new LazyDynaMap with the specified name and properties.
Parameters:
  name - Name of this DynaBean class
Parameters:
  properties - Property descriptors for the supported properties



LazyDynaMap
public LazyDynaMap(DynaClass dynaClass)(Code)
Construct a new LazyDynaMap based on an exisiting DynaClass
Parameters:
  dynaClass - DynaClass to copy the name and properties from




Method Detail
add
public void add(String name)(Code)
Add a new dynamic property with no restrictions on data type, readability, or writeability.
Parameters:
  name - Name of the new dynamic property
exception:
  IllegalArgumentException - if name is null



add
public void add(String name, Class type)(Code)
Add a new dynamic property with the specified data type, but with no restrictions on readability or writeability.
Parameters:
  name - Name of the new dynamic property
Parameters:
  type - Data type of the new dynamic property (null for norestrictions)
exception:
  IllegalArgumentException - if name is null
exception:
  IllegalStateException - if this DynaClass is currentlyrestricted, so no new properties can be added



add
public void add(String name, Class type, boolean readable, boolean writeable)(Code)

Add a new dynamic property with the specified data type, readability, and writeability.

N.B.Support for readable/writeable properties has not been implemented and this method always throws a UnsupportedOperationException.

I'm not sure the intention of the original authors for this method, but it seems to me that readable/writable should be attributes of the DynaProperty class (which they are not) and is the reason this method has not been implemented.


Parameters:
  name - Name of the new dynamic property
Parameters:
  type - Data type of the new dynamic property (null for norestrictions)
Parameters:
  readable - Set to true if this property valueshould be readable
Parameters:
  writeable - Set to true if this property valueshould be writeable
exception:
  UnsupportedOperationException - anytime this method is called



add
protected void add(DynaProperty property)(Code)
Add a new dynamic property.
Parameters:
  property - Property the new dynamic property to add.
exception:
  IllegalArgumentException - if name is null



getDynaProperties
public DynaProperty[] getDynaProperties()(Code)

Return an array of ProperyDescriptors for the properties currently defined in this DynaClass. If no properties are defined, a zero-length array will be returned.

FIXME - Should we really be implementing getBeanInfo() instead, which returns property descriptors and a bunch of other stuff?

the set of properties for this DynaClass



getDynaProperty
public DynaProperty getDynaProperty(String name)(Code)

Return a property descriptor for the specified property.

If the property is not found and the returnNull indicator is true, this method always returns null.

If the property is not found and the returnNull indicator is false a new property descriptor is created and returned (although its not actually added to the DynaClass's properties). This is the default beahviour.

The reason for not returning a null property descriptor is that BeanUtils uses this method to check if a property exists before trying to set it - since these Map implementations automatically add any new properties when they are set, returning null from this method would defeat their purpose.


Parameters:
  name - Name of the dynamic property for which a descriptoris requested The descriptor for the specified property
exception:
  IllegalArgumentException - if no property name is specified



getMap
public Map getMap()(Code)
Return the underlying Map backing this DynaBean the underlying Map



getName
public String getName()(Code)
Return the name of this DynaClass (analogous to the getName() method of java.lang.Class



isDynaProperty
protected boolean isDynaProperty(String name)(Code)

Indicate whether a property actually exists.

N.B. Using getDynaProperty(name) == null doesn't work in this implementation because that method might return a DynaProperty if it doesn't exist (depending on the returnNull indicator).


Parameters:
  name - Name of the dynamic property true if the property exists,otherwise false
exception:
  IllegalArgumentException - if no property name is specified



isRestricted
public boolean isRestricted()(Code)

Is this DynaClass currently restricted.

If restricted, no changes to the existing registration of property names, data types, readability, or writeability are allowed.

true if this Mutable DynaClass is restricted,otherwise false



isReturnNull
public boolean isReturnNull()(Code)
Should this DynaClass return a null from the getDynaProperty(name) method if the property doesn't exist. true if a null DynaPropertyshould be returned if the property doesn't exist, otherwisefalse if a new DynaProperty should be created.



newInstance
public DynaBean newInstance()(Code)
Instantiate and return a new DynaBean instance, associated with this DynaClass. A new DynaBean instance



remove
public void remove(String name)(Code)
Remove the specified dynamic property, and any associated data type, readability, and writeability, from this dynamic class. NOTE - This does NOT cause any corresponding property values to be removed from DynaBean instances associated with this DynaClass.
Parameters:
  name - Name of the dynamic property to remove
exception:
  IllegalArgumentException - if name is null
exception:
  IllegalStateException - if this DynaClass is currentlyrestricted, so no properties can be removed



set
public void set(String name, Object value)(Code)
Set the value of a simple property with the specified name.
Parameters:
  name - Name of the property whose value is to be set
Parameters:
  value - Value to which this property is to be set



setMap
public void setMap(Map values)(Code)
Set the Map backing this DynaBean
Parameters:
  values - The new Map of values



setRestricted
public void setRestricted(boolean restricted)(Code)

Set whether this DynaClass is currently restricted.

If restricted, no changes to the existing registration of property names, data types, readability, or writeability are allowed.


Parameters:
  restricted - The new restricted state



setReturnNull
public void setReturnNull(boolean returnNull)(Code)
Set whether this DynaClass should return a null from the getDynaProperty(name) method if the property doesn't exist.
Parameters:
  returnNull - true if a null DynaPropertyshould be returned if the property doesn't exist, otherwisefalse if a new DynaProperty should be created.



Fields inherited from org.apache.commons.beanutils.LazyDynaBean
final protected static BigDecimal BigDecimal_ZERO(Code)(Java Doc)
final protected static BigInteger BigInteger_ZERO(Code)(Java Doc)
final protected static Byte Byte_ZERO(Code)(Java Doc)
final protected static Character Character_SPACE(Code)(Java Doc)
final protected static Double Double_ZERO(Code)(Java Doc)
final protected static Float Float_ZERO(Code)(Java Doc)
final protected static Integer Integer_ZERO(Code)(Java Doc)
final protected static Long Long_ZERO(Code)(Java Doc)
final protected static Short Short_ZERO(Code)(Java Doc)
protected MutableDynaClass dynaClass(Code)(Java Doc)
protected Map values(Code)(Java Doc)

Methods inherited from org.apache.commons.beanutils.LazyDynaBean
public boolean contains(String name, String key)(Code)(Java Doc)
protected Object createDynaBeanProperty(String name, Class type)(Code)(Java Doc)
protected Object createIndexedProperty(String name, Class type)(Code)(Java Doc)
protected Object createMappedProperty(String name, Class type)(Code)(Java Doc)
protected Object createNumberProperty(String name, Class type)(Code)(Java Doc)
protected Object createOtherProperty(String name, Class type)(Code)(Java Doc)
protected Object createPrimitiveProperty(String name, Class type)(Code)(Java Doc)
protected Object createProperty(String name, Class type)(Code)(Java Doc)
protected Object defaultIndexedProperty(String name)(Code)(Java Doc)
protected Map defaultMappedProperty(String name)(Code)(Java Doc)
public Object get(String name)(Code)(Java Doc)
public Object get(String name, int index)(Code)(Java Doc)
public Object get(String name, String key)(Code)(Java Doc)
public DynaClass getDynaClass()(Code)(Java Doc)
public Map getMap()(Code)(Java Doc)
protected Object growIndexedProperty(String name, Object indexedProperty, int index)(Code)(Java Doc)
protected boolean isAssignable(Class dest, Class source)(Code)(Java Doc)
protected boolean isDynaProperty(String name)(Code)(Java Doc)
protected Map newMap()(Code)(Java Doc)
public void remove(String name, String key)(Code)(Java Doc)
public void set(String name, Object value)(Code)(Java Doc)
public void set(String name, int index, Object value)(Code)(Java Doc)
public void set(String name, String key, Object value)(Code)(Java Doc)
public int size(String name)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.