// Path: mardao-core/src/main/java/net/sf/mardao/core/CursorPage.java
// public class CursorPage<T extends Object> implements Serializable {
//     
//     /** requested page size, not acutal */
//     @Deprecated
//     private transient int requestedPageSize;
//     
//     /** provide this to get next page */
//     private String cursorKey;
//     
//     /** the page of items */
//     private Collection<T> items;
// 
//     /**
//      * The total number of items available. Use for progress indication.
//      */
//     private Integer totalSize;
//     
//     public String getCursorKey() {
//         return cursorKey;
//     }
// 
//     public void setCursorKey(String cursorKey) {
//         this.cursorKey = cursorKey;
//     }
// 
//     public Collection<T> getItems() {
//         return items;
//     }
// 
//     public void setItems(Collection<T> items) {
//         this.items = items;
//     }
// 
//     @Deprecated
//     public int getRequestedPageSize() {
//         return requestedPageSize;
//     }
// 
//     @Deprecated
//     public void setRequestedPageSize(int requestedPageSize) {
//         this.requestedPageSize = requestedPageSize;
//     }
// 
//     public Integer getTotalSize() {
//         return totalSize;
//     }
// 
//     public void setTotalSize(Integer totalSize) {
//         this.totalSize = totalSize;
//     }
// 
// }


import net.sf.mardao.core.CursorPage;
import java.io.IOException;
import java.io.Serializable;
package net.sf.mardao.dao;



/**
 * Core crud methods.
 * Created by sosandstrom on 2015-01-04.
 */
public interface CrudDao<T, ID extends Serializable> {

    int count(Object parentKey);

    ID insert(Object parentKey, ID id, T entity) throws IOException;

    ID put(Object parentKey, ID id, T entity) throws IOException;

    T get(Object parentKey, ID id) throws IOException;

    void delete(Object parentKey, ID id) throws IOException;

// Path: mardao-core/src/main/java/net/sf/mardao/core/CursorPage.java
// public class CursorPage<T extends Object> implements Serializable {
//     
//     /** requested page size, not acutal */
//     @Deprecated
//     private transient int requestedPageSize;
//     
//     /** provide this to get next page */
//     private String cursorKey;
//     
//     /** the page of items */
//     private Collection<T> items;
// 
//     /**
//      * The total number of items available. Use for progress indication.
//      */
//     private Integer totalSize;
//     
//     public String getCursorKey() {
//         return cursorKey;
//     }
// 
//     public void setCursorKey(String cursorKey) {
//         this.cursorKey = cursorKey;
//     }
// 
//     public Collection<T> getItems() {
//         return items;
//     }
// 
//     public void setItems(Collection<T> items) {
//         this.items = items;
//     }
// 
//     @Deprecated
//     public int getRequestedPageSize() {
//         return requestedPageSize;
//     }
// 
//     @Deprecated
//     public void setRequestedPageSize(int requestedPageSize) {
//         this.requestedPageSize = requestedPageSize;
//     }
// 
//     public Integer getTotalSize() {
//         return totalSize;
//     }
// 
//     public void setTotalSize(Integer totalSize) {
//         this.totalSize = totalSize;
//     }
// 
// }


// Path: mardao-core/src/main/java/net/sf/mardao/dao/CrudDao.java
import net.sf.mardao.core.CursorPage;
import java.io.IOException;
import java.io.Serializable;

package net.sf.mardao.dao;



/**
 * Core crud methods.
 * Created by sosandstrom on 2015-01-04.
 */
public interface CrudDao<T, ID extends Serializable> {

    int count(Object parentKey);

    ID insert(Object parentKey, ID id, T entity) throws IOException;

    ID put(Object parentKey, ID id, T entity) throws IOException;

    T get(Object parentKey, ID id) throws IOException;

    void delete(Object parentKey, ID id) throws IOException;

    CursorPage<T> queryPage(Object ancestorKey, int requestedPageSize, String cursorString);