Package org.pipservices3.commons.reflect
Class RecursiveObjectWriter
java.lang.Object
org.pipservices3.commons.reflect.RecursiveObjectWriter
Helper class to perform property introspection and dynamic writing.
It is similar to ObjectWriter
but writes properties recursively
through the entire object graph. Nested property names are defined
using dot notation as "object.subobject.property"
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
copyProperties
(Object dest, Object src) Copies content of one object to another object by recursively reading all properties from source object and then recursively writing them to destination object.static void
setProperties
(Object obj, Map<String, Object> values) Recursively sets values of some (all) object and its subobjects properties.static void
setProperty
(Object obj, String name, Object value) Recursively sets value of object and its subobjects property specified by its name.
-
Constructor Details
-
RecursiveObjectWriter
public RecursiveObjectWriter()
-
-
Method Details
-
setProperty
Recursively sets value of object and its subobjects property specified by its name.The object can be a user defined object, map or array. The property name correspondently must be object property, map key or array index.
If the property does not exist or introspection fails this method doesn't do anything and doesn't any throw errors.
- Parameters:
obj
- an object to write property to.name
- a name of the property to set.value
- a new value for the property to set.
-
setProperties
Recursively sets values of some (all) object and its subobjects properties.The object can be a user defined object, map or array. Property values correspondently are object properties, map key-pairs or array elements with their indexes.
If some properties do not exist or introspection fails they are just silently skipped and no errors thrown.
- Parameters:
obj
- an object to write properties to.values
- a map, containing property names and their values.- See Also:
-
copyProperties
Copies content of one object to another object by recursively reading all properties from source object and then recursively writing them to destination object.- Parameters:
dest
- a destination object to write properties to.src
- a source object to read properties from
-