Example usage for org.apache.cassandra.db.marshal DynamicCompositeType getInstance

List of usage examples for org.apache.cassandra.db.marshal DynamicCompositeType getInstance

Introduction

In this page you can find the example usage for org.apache.cassandra.db.marshal DynamicCompositeType getInstance.

Prototype

public static DynamicCompositeType getInstance(Map<Byte, AbstractType<?>> aliases) 

Source Link

Usage

From source file:me.tango.cassandra.bench.SchemaLoader.java

License:Apache License

public static Collection<KSMetaData> schemaDefinition() throws ConfigurationException {
    List<KSMetaData> schema = new ArrayList<KSMetaData>();

    // A whole bucket of shorthand
    String ks1 = "Keyspace1";

    Class<? extends AbstractReplicationStrategy> simple = SimpleStrategy.class;

    Map<String, String> opts_rf1 = KSMetaData.optsWithRF(1);
    AbstractType bytes = BytesType.instance;

    AbstractType<?> composite = CompositeType.getInstance(Arrays
            .asList(new AbstractType<?>[] { BytesType.instance, TimeUUIDType.instance, IntegerType.instance }));
    AbstractType<?> compositeMaxMin = CompositeType
            .getInstance(Arrays.asList(new AbstractType<?>[] { BytesType.instance, IntegerType.instance }));
    Map<Byte, AbstractType<?>> aliases = new HashMap<Byte, AbstractType<?>>();
    aliases.put((byte) 'b', BytesType.instance);
    aliases.put((byte) 't', TimeUUIDType.instance);
    aliases.put((byte) 'B', ReversedType.getInstance(BytesType.instance));
    aliases.put((byte) 'T', ReversedType.getInstance(TimeUUIDType.instance));
    AbstractType<?> dynamicComposite = DynamicCompositeType.getInstance(aliases);

    Map<String, String> leveledOptions = new HashMap<String, String>();
    leveledOptions.put("sstable_size_in_mb", "64");
    Map<String, String> compressionOptions = new HashMap<String, String>();
    compressionOptions.put("sstable_compression", "");

    // Keyspace 1
    schema.add(KSMetaData.testMetadata(ks1, simple, opts_rf1,

            // Column Families
            standardCFMD(ks1, "Standard1").compactionStrategyClass(LeveledCompactionStrategy.class)
                    .maxIndexInterval(256).compactionStrategyOptions(leveledOptions)
                    .compressionParameters(CompressionParameters.create(compressionOptions))));

    return schema;
}