package com.socrata.datasync.deltaimporter2;
import com.socrata.datasync.config.controlfile.ControlFile;
import org.codehaus.jackson.annotate.JsonPropertyOrder;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import java.util.List;
@JsonPropertyOrder(alphabetic=true)
public class CommitMessage<T> {
public String filename;
public String relativeTo;
public List<String> chunks;
@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL) // this is technically optional
public Long expectedSize;
@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL)
public T control;
// Builder methods
public CommitMessage<T> filename(String f) { filename = f; return this; }
public CommitMessage<T> relativeTo(String r) { relativeTo = r; return this; }
public CommitMessage<T> chunks(List<String> c) { chunks = c; return this; }
public CommitMessage<T> control(T c) { control = c; return this; }
public CommitMessage<T> expectedSize(Long s) { expectedSize = s; return this; }
}