package me.prettyprint.cassandra.model; import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition; import me.prettyprint.hector.api.ddl.KeyspaceDefinition; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by IntelliJ IDEA. * User: peter * Date: 20/10/2010 * Time: 4:11:33 PM * To change this template use File | Settings | File Templates. */ public class BasicKeyspaceDefinition implements KeyspaceDefinition { private String name; private String strategyClass; private int replicationFactor; private boolean durableWrites = true; private Map<String, String> strategyOptions; private List<ColumnFamilyDefinition> columnFamilyList; public BasicKeyspaceDefinition(){ this.columnFamilyList = new ArrayList<ColumnFamilyDefinition>(); this.strategyOptions = new HashMap<String, String>(); } @Override public String getName() { return this.name; } @Override public String getStrategyClass() { return this.strategyClass; } @Override public Map<String, String> getStrategyOptions() { return this.strategyOptions; } @Override public int getReplicationFactor() { return this.replicationFactor; } @Override public List<ColumnFamilyDefinition> getCfDefs() { return this.columnFamilyList; } public void setName(String name) { this.name = name; } public void setStrategyClass(String strategyClass) { this.strategyClass = strategyClass; } public void setReplicationFactor(int replicationFactor) { this.replicationFactor = replicationFactor; } public void addColumnFamily( ColumnFamilyDefinition columnFamilyDefinition ){ this.columnFamilyList.add(columnFamilyDefinition); } public void removeColumnFamily( ColumnFamilyDefinition columnFamilyDefinition ){ this.columnFamilyList.remove(columnFamilyDefinition); } public void setStrategyOption( String field, String value ){ this.strategyOptions.put( field, value); } public void removeStrategyOption( String field ){ this.strategyOptions.remove( field ); } public boolean isDurableWrites() { return durableWrites; } public void setDurableWrites(boolean durableWrites) { this.durableWrites = durableWrites; } }