package me.prettyprint.hector.api.beans;
import java.nio.ByteBuffer;
import java.util.List;
import me.prettyprint.hector.api.Serializer;
public class DynamicComposite extends AbstractComposite {
public final static String DEFAULT_DYNAMIC_COMPOSITE_ALIASES = "(a=>AsciiType,b=>BytesType,i=>IntegerType,x=>LexicalUUIDType,l=>LongType,t=>TimeUUIDType,s=>UTF8Type,u=>UUIDType,A=>AsciiType(reversed=true),B=>BytesType(reversed=true),I=>IntegerType(reversed=true),X=>LexicalUUIDType(reversed=true),L=>LongType(reversed=true),T=>TimeUUIDType(reversed=true),S=>UTF8Type(reversed=true),U=>UUIDType(reversed=true))";
public DynamicComposite() {
super(true);
}
public DynamicComposite(Object... o) {
super(true, o);
}
public DynamicComposite(List<?> l) {
super(true, l);
}
public static DynamicComposite fromByteBuffer(ByteBuffer byteBuffer) {
DynamicComposite composite = new DynamicComposite();
composite.deserialize(byteBuffer);
return composite;
}
public static ByteBuffer toByteBuffer(Object... o) {
DynamicComposite composite = new DynamicComposite(o);
return composite.serialize();
}
public static ByteBuffer toByteBuffer(List<?> l) {
DynamicComposite composite = new DynamicComposite(l);
return composite.serialize();
}
@Override
public <T> DynamicComposite addComponent(int index, T element, ComponentEquality equality) {
super.addComponent(index, element, equality);
return this;
}
@Override
public <T> DynamicComposite addComponent(T value, Serializer<T> s) {
super.addComponent(value, s);
return this;
}
@Override
public <T> DynamicComposite addComponent(T value, Serializer<T> s,
String comparator) {
super.addComponent(value, s, comparator);
return this;
}
@Override
public <T> DynamicComposite addComponent(T value, Serializer<T> s,
String comparator, ComponentEquality equality) {
super.addComponent(value, s, comparator, equality);
return this;
}
@Override
public <T> DynamicComposite addComponent(int index, T value,
Serializer<T> s, String comparator, ComponentEquality equality) {
super.addComponent(index, value, s, comparator, equality);
return this;
}
}