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.11 Release Date : April 8 2016