Class MultiWrapDynaBean
- java.lang.Object
-
- org.apache.commons.configuration2.builder.combined.MultiWrapDynaBean
-
- All Implemented Interfaces:
org.apache.commons.beanutils.DynaBean
final class MultiWrapDynaBean extends java.lang.Object implements org.apache.commons.beanutils.DynaBean
An implementation of the
DynaBean
interfaces which wraps multiple other beans.An instance of this class is constructed with a collection of beans to be wrapped. When reading or writing a property the wrapped bean which defines this property is determined, and the operation is executed on this bean.
The wrapped beans should have disjunct properties. Otherwise, it is undefined which bean property is read or written.
- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description private org.apache.commons.beanutils.DynaClass
dynaClass
Stores the class of this DynaBean.private java.util.Map<java.lang.String,org.apache.commons.beanutils.DynaBean>
propsToBeans
A map which associates property names with their defining beans.
-
Constructor Summary
Constructors Constructor Description MultiWrapDynaBean(java.util.Collection<?> beans)
Creates a new instance ofMultiWrapDynaBean
and initializes it with the given collections of beans to be wrapped.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(java.lang.String name, java.lang.String key)
This operation is not supported by theWrapDynaBean
objects used internally by this class.private static org.apache.commons.beanutils.DynaBean
createDynaBean(java.lang.Object bean)
Creates aDynaBean
object for the given bean.private org.apache.commons.beanutils.DynaBean
fetchBean(java.lang.String property)
Returns the bean instance to which the given property belongs.java.lang.Object
get(java.lang.String name)
java.lang.Object
get(java.lang.String name, int index)
java.lang.Object
get(java.lang.String name, java.lang.String key)
org.apache.commons.beanutils.DynaClass
getDynaClass()
This implementation returns an instance ofMultiWrapDynaClass
.void
remove(java.lang.String name, java.lang.String key)
This operation is not supported by theWrapDynaBean
objects used internally by this class.void
set(java.lang.String name, int index, java.lang.Object value)
void
set(java.lang.String name, java.lang.Object value)
void
set(java.lang.String name, java.lang.String key, java.lang.Object value)
-
-
-
Method Detail
-
createDynaBean
private static org.apache.commons.beanutils.DynaBean createDynaBean(java.lang.Object bean)
Creates aDynaBean
object for the given bean.- Parameters:
bean
- the bean- Returns:
- the
DynaBean
for this bean
-
contains
public boolean contains(java.lang.String name, java.lang.String key)
This operation is not supported by theWrapDynaBean
objects used internally by this class. Therefore, just an exception is thrown.- Specified by:
contains
in interfaceorg.apache.commons.beanutils.DynaBean
-
fetchBean
private org.apache.commons.beanutils.DynaBean fetchBean(java.lang.String property)
Returns the bean instance to which the given property belongs. If no such bean is found, an arbitrary bean is returned. (This causes the operation on this bean to fail with a meaningful error message.)- Parameters:
property
- the property name- Returns:
- the bean defining this property
-
get
public java.lang.Object get(java.lang.String name)
- Specified by:
get
in interfaceorg.apache.commons.beanutils.DynaBean
-
get
public java.lang.Object get(java.lang.String name, int index)
- Specified by:
get
in interfaceorg.apache.commons.beanutils.DynaBean
-
get
public java.lang.Object get(java.lang.String name, java.lang.String key)
- Specified by:
get
in interfaceorg.apache.commons.beanutils.DynaBean
-
getDynaClass
public org.apache.commons.beanutils.DynaClass getDynaClass()
This implementation returns an instance ofMultiWrapDynaClass
.- Specified by:
getDynaClass
in interfaceorg.apache.commons.beanutils.DynaBean
-
remove
public void remove(java.lang.String name, java.lang.String key)
This operation is not supported by theWrapDynaBean
objects used internally by this class. Therefore, just an exception is thrown.- Specified by:
remove
in interfaceorg.apache.commons.beanutils.DynaBean
-
set
public void set(java.lang.String name, int index, java.lang.Object value)
- Specified by:
set
in interfaceorg.apache.commons.beanutils.DynaBean
-
set
public void set(java.lang.String name, java.lang.Object value)
- Specified by:
set
in interfaceorg.apache.commons.beanutils.DynaBean
-
set
public void set(java.lang.String name, java.lang.String key, java.lang.Object value)
- Specified by:
set
in interfaceorg.apache.commons.beanutils.DynaBean
-
-