org.milyn.edi.unedifact.d96a.common.DocumentLineIdentification Maven / Gradle / Ivy
/**
* This class was generated by Smooks EJC (http://www.smooks.org).
*/
package org.milyn.edi.unedifact.d96a.common;
import java.io.Serializable;
import org.milyn.smooks.edi.EDIWritable;
import java.math.BigDecimal;
import org.milyn.javabean.decoders.DABigDecimalDecoder;
import java.io.Writer;
import org.milyn.edisax.model.internal.Delimiters;
import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import java.util.ArrayList;
import org.milyn.edisax.util.EDIUtils;
import org.milyn.edisax.model.internal.DelimiterType;
public class DocumentLineIdentification implements Serializable, EDIWritable {
private static final long serialVersionUID = 1L;
private String documentLineIndicatorCoded;
private BigDecimal lineItemNumber;
private DABigDecimalDecoder lineItemNumberEncoder;
public DocumentLineIdentification() {
lineItemNumberEncoder = new DABigDecimalDecoder();
}
public void write(Writer writer, Delimiters delimiters) throws IOException {
Writer nodeWriter = new StringWriter();
List nodeTokens = new ArrayList();
if(documentLineIndicatorCoded != null) {
nodeWriter.write(delimiters.escape(documentLineIndicatorCoded.toString()));
nodeTokens.add(nodeWriter.toString());
((StringWriter)nodeWriter).getBuffer().setLength(0);
}
nodeWriter.write(delimiters.getField());
if(lineItemNumber != null) {
nodeWriter.write(delimiters.escape(lineItemNumberEncoder.encode(lineItemNumber, delimiters)));
nodeTokens.add(nodeWriter.toString());
((StringWriter)nodeWriter).getBuffer().setLength(0);
}
nodeTokens.add(nodeWriter.toString());
writer.write(EDIUtils.concatAndTruncate(nodeTokens, DelimiterType.FIELD, delimiters));
writer.write(delimiters.getSegmentDelimiter());
writer.flush();
}
public String getDocumentLineIndicatorCoded() {
return documentLineIndicatorCoded;
}
public DocumentLineIdentification setDocumentLineIndicatorCoded(String documentLineIndicatorCoded) {
this.documentLineIndicatorCoded = documentLineIndicatorCoded; return this;
}
public BigDecimal getLineItemNumber() {
return lineItemNumber;
}
public DocumentLineIdentification setLineItemNumber(BigDecimal lineItemNumber) {
this.lineItemNumber = lineItemNumber; return this;
}
}