// Path: eventasia-starter/src/main/java/com/github/eventasia/eventstore/repository/ReadWriteAggregateRepository.java
// public interface ReadWriteAggregateRepository<A extends Aggregate> extends AggregateRepository<A> {
// 
//     void save(A aggregate);
// 
// }
// 
// Path: eventasia-framework/src/main/java/com/github/eventasia/framework/Aggregate.java
// public interface Aggregate<T extends Serializable> extends Serializable {
// 
//     UUID getAggregateId();
// 
//     long getVersion();
// 
//     long incrementVersion();
// 
// }


import com.github.eventasia.eventstore.repository.ReadWriteAggregateRepository;
import com.github.eventasia.framework.Aggregate;
import java.util.UUID;
package com.github.eventasia.dynamodb;



public class EventasiaDynamoDBAggregateRepository<A extends Aggregate> implements ReadWriteAggregateRepository<A> {

    private final EventasiaDynamoDBConfig config;
    private final Class clazz;

    public EventasiaDynamoDBAggregateRepository(EventasiaDynamoDBConfig config, Class clazz) {
        this.config = config;
        this.clazz = clazz;
    }

// Path: eventasia-starter/src/main/java/com/github/eventasia/eventstore/repository/ReadWriteAggregateRepository.java
// public interface ReadWriteAggregateRepository<A extends Aggregate> extends AggregateRepository<A> {
// 
//     void save(A aggregate);
// 
// }
// 
// Path: eventasia-framework/src/main/java/com/github/eventasia/framework/Aggregate.java
// public interface Aggregate<T extends Serializable> extends Serializable {
// 
//     UUID getAggregateId();
// 
//     long getVersion();
// 
//     long incrementVersion();
// 
// }


// Path: eventasia-store-dynamodb/src/main/java/com/github/eventasia/dynamodb/EventasiaDynamoDBAggregateRepository.java
import com.github.eventasia.eventstore.repository.ReadWriteAggregateRepository;
import com.github.eventasia.framework.Aggregate;
import java.util.UUID;

package com.github.eventasia.dynamodb;



public class EventasiaDynamoDBAggregateRepository<A extends Aggregate> implements ReadWriteAggregateRepository<A> {

    private final EventasiaDynamoDBConfig config;
    private final Class clazz;

    public EventasiaDynamoDBAggregateRepository(EventasiaDynamoDBConfig config, Class clazz) {
        this.config = config;
        this.clazz = clazz;
    }

    @Override