// Path: scheduled-actions-core/src/main/java/com/netflix/scheduledactions/persistence/Codec.java
// public interface Codec {
// 
//     /**
//      * Compress the provided bytes array
//      * @throws IOException
//      */
//     byte[] compress(byte[] bytes) throws IOException;
// 
//     /**
//      * Un-compress the provided bytes array
//      * @throws IOException
//      */
//     byte[] decompress(byte[] bytes) throws IOException;
// }
// 
// Path: scheduled-actions-cassandra/src/main/java/com/netflix/scheduledactions/persistence/SnappyCodec.java
// public class SnappyCodec implements Codec {
// 
//     @Override
//     public byte[] compress(byte[] bytes) throws IOException {
//         return Snappy.compress(bytes);
//     }
// 
//     @Override
//     public byte[] decompress(byte[] bytes) throws IOException {
//         return Snappy.uncompress(bytes);
//     }
// }


import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.netflix.astyanax.Keyspace;
import com.netflix.astyanax.MutationBatch;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
import com.netflix.astyanax.connectionpool.exceptions.NotFoundException;
import com.netflix.astyanax.ddl.ColumnFamilyDefinition;
import com.netflix.astyanax.model.*;
import com.netflix.astyanax.query.RowQuery;
import com.netflix.astyanax.query.RowSliceQuery;
import com.netflix.astyanax.serializers.ByteBufferSerializer;
import com.netflix.astyanax.serializers.StringSerializer;
import com.netflix.astyanax.util.RangeBuilder;
import com.netflix.scheduledactions.persistence.Codec;
import com.netflix.scheduledactions.persistence.SnappyCodec;
/*
 * Copyright 2015 Netflix, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.netflix.scheduledactions.persistence.cassandra;



public class ThriftCassandraDao<T> implements CassandraDao<T> {

    public static final String ALL = "all";

    private final Class<T> parameterClass;
    private final Keyspace keyspace;
// Path: scheduled-actions-core/src/main/java/com/netflix/scheduledactions/persistence/Codec.java
// public interface Codec {
// 
//     /**
//      * Compress the provided bytes array
//      * @throws IOException
//      */
//     byte[] compress(byte[] bytes) throws IOException;
// 
//     /**
//      * Un-compress the provided bytes array
//      * @throws IOException
//      */
//     byte[] decompress(byte[] bytes) throws IOException;
// }
// 
// Path: scheduled-actions-cassandra/src/main/java/com/netflix/scheduledactions/persistence/SnappyCodec.java
// public class SnappyCodec implements Codec {
// 
//     @Override
//     public byte[] compress(byte[] bytes) throws IOException {
//         return Snappy.compress(bytes);
//     }
// 
//     @Override
//     public byte[] decompress(byte[] bytes) throws IOException {
//         return Snappy.uncompress(bytes);
//     }
// }


// Path: scheduled-actions-cassandra/src/main/java/com/netflix/scheduledactions/persistence/cassandra/ThriftCassandraDao.java
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.netflix.astyanax.Keyspace;
import com.netflix.astyanax.MutationBatch;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
import com.netflix.astyanax.connectionpool.exceptions.NotFoundException;
import com.netflix.astyanax.ddl.ColumnFamilyDefinition;
import com.netflix.astyanax.model.*;
import com.netflix.astyanax.query.RowQuery;
import com.netflix.astyanax.query.RowSliceQuery;
import com.netflix.astyanax.serializers.ByteBufferSerializer;
import com.netflix.astyanax.serializers.StringSerializer;
import com.netflix.astyanax.util.RangeBuilder;
import com.netflix.scheduledactions.persistence.Codec;
import com.netflix.scheduledactions.persistence.SnappyCodec;

/*
 * Copyright 2015 Netflix, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.netflix.scheduledactions.persistence.cassandra;



public class ThriftCassandraDao<T> implements CassandraDao<T> {

    public static final String ALL = "all";

    private final Class<T> parameterClass;
    private final Keyspace keyspace;
    private final Codec codec;