package org.corfudb.samples;
/**
* A simple program
* that makes use of {@link CorfuSharedCounter} and {@link CorfuCompoundObject}.
*/
public class SimpleUseCustomBaseCorfuObject extends BaseCorfuAppUtils {
/**
* main() and standard setup methods are deferred to BaseCorfuAppUtils
* @return
*/
static BaseCorfuAppUtils selfFactory() { return new SimpleUseCustomBaseCorfuObject(); }
public static void main(String[] args) { selfFactory().start(args); }
public void action() {
CorfuSharedCounter cntr = instantiateCorfuObject(
CorfuSharedCounter.class, "CNTR"
);
final int MAGIC_VALUE = 55;
System.out.println("Counter value before increment: " + cntr.Get());
cntr.Set(MAGIC_VALUE);
System.out.println("Counter value before increment: " + cntr.Increment());
System.out.println("Counter value before increment: " + cntr.Increment());
CorfuCompoundObject cmpnd = instantiateCorfuObject(
CorfuCompoundObject.class, "CMPND"
);
cmpnd.set(cmpnd.new Inner("foo", "bar"), MAGIC_VALUE);
System.out.println("compound: "
+ "user=" + cmpnd.getUser().getFirstName() + "," + cmpnd.getUser().getLastName()
+ " ID=" + cmpnd.getID());
}
}