public interface BinaryObjectBuilder
Here is an example of how a binary object can be built dynamically:
BinaryObjectBuilder builder = Ignition.ignite().binary().builder("org.project.MyObject"); builder.setField("fieldA", "A"); builder.setField("fieldB", "B"); BinaryObject binaryObj = builder.build();
Also builder can be initialized by existing binary object. This allows changing some fields without affecting other fields.
BinaryObjectBuilder builder = Ignition.ignite().binary().builder(person); builder.setField("name", "John"); person = builder.build();If you need to modify nested binary object you can get builder for nested object using
getField(String)
, changes made on nested builder will affect parent object,
for example:
BinaryObjectBuilder personBuilder = grid.binary().createBuilder(personBinaryObj); BinaryObjectBuilder addressBuilder = personBuilder.setField("address"); addressBuilder.setField("city", "New York"); personBinaryObj = personBuilder.build(); // Should be "New York". String city = personBinaryObj.getField("address").getField("city");
Modifier and Type | Method and Description |
---|---|
BinaryObject |
build()
Builds binary object.
|
<T> T |
getField(String name)
Returns value assigned to the specified field.
|
BinaryObjectBuilder |
hashCode(int hashCode)
Sets hash code for resulting binary object returned by
build() method. |
BinaryObjectBuilder |
removeField(String fieldName)
Removes field from this builder.
|
BinaryObjectBuilder |
setField(String name,
BinaryObjectBuilder builder)
Sets field value.
|
BinaryObjectBuilder |
setField(String name,
Object val)
Sets field value.
|
<T> BinaryObjectBuilder |
setField(String name,
T val,
Class<? super T> type)
Sets field value with value type specification.
|
<T> T getField(String name)
BinaryObjectBuilder
will be returned,
which can be modified.
Collections and maps returned from this method are modifiable.
name
- Field name.BinaryObjectBuilder setField(String name, Object val)
name
- Field name.val
- Field value (cannot be null
).BinaryObject.type()
<T> BinaryObjectBuilder setField(String name, @Nullable T val, Class<? super T> type)
Field type is needed for proper metadata update.
name
- Field name.val
- Field value.type
- Field type.BinaryObject.type()
BinaryObjectBuilder setField(String name, @Nullable BinaryObjectBuilder builder)
This method should be used if field is binary object.
name
- Field name.builder
- Builder for object field.BinaryObjectBuilder removeField(String fieldName)
fieldName
- Field name.this
instance for chaining.BinaryObjectBuilder hashCode(int hashCode)
build()
method.
If not set 0
is used.
hashCode
- Hash code.this
instance for chaining.BinaryObject build() throws BinaryObjectException
BinaryObjectException
- In case of error.
Follow @ApacheIgnite
Ignite Fabric : ver. 1.5.0.final Release Date : December 29 2015