package cc.nfscan.server.domain;
import com.amazonaws.services.dynamodbv2.datamodeling.*;
import java.util.Date;
/**
* Entity class that represents OCRTransaction on database
*
* @author Paulo Miguel Almeida <a href="http://github.com/PauloMigAlmeida">@PauloMigAlmeida</a>
*/
@DynamoDBTable(tableName = "NFSCAN-OCRTRANSACTION")
public class OCRTransaction implements IDomain {
private static final long serialVersionUID = 1L;
/**
* identifier
*/
private String id;
/**
* signature
*/
private String signature;
/**
* cnpj
*/
private String cnpj;
/**
* date
*/
private Date date;
/**
* COO
*/
private String coo;
/**
* total
*/
private Double total;
/**
* S3 object
*/
private String s3Object;
/**
* dateInsertion of this object
*/
private Date dateInsertion;
/**
* dateInsertion of this object
*/
private String dateInsertionGSI;
/**
* processed Indicates whether this transaction has processed in or not.
*/
private boolean processed;
public OCRTransaction() {
}
public OCRTransaction(String id) {
this.id = id;
}
public OCRTransaction(String signature, Date dateInsertion, String dateInsertionGSI) {
this.signature = signature;
this.dateInsertion = dateInsertion;
this.dateInsertionGSI = dateInsertionGSI;
}
@DynamoDBAutoGeneratedKey()
@DynamoDBHashKey(attributeName = "transaction_id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@DynamoDBAttribute(attributeName = "signature")
public String getSignature() {
return signature;
}
public void setSignature(String signature) {
this.signature = signature;
}
@DynamoDBAttribute(attributeName = "cnpj")
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
@DynamoDBAttribute(attributeName = "date")
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@DynamoDBAttribute(attributeName = "coo")
public String getCoo() {
return coo;
}
public void setCoo(String coo) {
this.coo = coo;
}
@DynamoDBAttribute(attributeName = "total")
public Double getTotal() {
return total;
}
public void setTotal(Double total) {
this.total = total;
}
@DynamoDBAttribute(attributeName = "s3Object")
public String getS3Object() {
return s3Object;
}
public void setS3Object(String s3Object) {
this.s3Object = s3Object;
}
@DynamoDBIndexHashKey(attributeName = "date_insertion_gsi", globalSecondaryIndexName = "date_insertion_gsi-index")
public String getDateGSI() {
return dateInsertionGSI;
}
public void setDateGSI(String dateInsertionGSI) {
this.dateInsertionGSI = dateInsertionGSI;
}
@DynamoDBAttribute(attributeName = "processed")
public boolean isProcessed() {
return processed;
}
public void setProcessed(boolean processed) {
this.processed = processed;
}
@Override
public String toString() {
return "OCRTransation{" +
"id=" + id +
", signature=" + signature +
", cnpj='" + cnpj + '\'' +
", date=" + date +
", coo=" + coo +
", total=" + total +
", s3Object='" + s3Object + '\'' +
", dateInsertion=" + dateInsertion +
", processed=" + processed +
'}';
}
}