All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.milyn.edi.unedifact.d98a.common.DataElementUsageDetails Maven / Gradle / Ivy

There is a newer version: 1.7.1.0
Show newest version
/**
 * This class was generated by Smooks EJC (http://www.smooks.org).
 */
package org.milyn.edi.unedifact.d98a.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 DataElementUsageDetails implements Serializable, EDIWritable {

    private static final long serialVersionUID = 1L;

    private String dataElementTag;
    private String requirementDesignatorCoded;
    private String sequenceNumber;
    private String maintenanceOperationCoded;
    private BigDecimal maximumNumberOfOccurrences;
    private DABigDecimalDecoder maximumNumberOfOccurrencesEncoder;

    public DataElementUsageDetails() {
        
        maximumNumberOfOccurrencesEncoder = new DABigDecimalDecoder();
    }

    public void write(Writer writer, Delimiters delimiters) throws IOException {
        
        Writer nodeWriter = new StringWriter();

        List nodeTokens = new ArrayList();

        if(dataElementTag != null) {
            nodeWriter.write(delimiters.escape(dataElementTag.toString()));
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(requirementDesignatorCoded != null) {
            nodeWriter.write(delimiters.escape(requirementDesignatorCoded.toString()));
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(sequenceNumber != null) {
            nodeWriter.write(delimiters.escape(sequenceNumber.toString()));
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(maintenanceOperationCoded != null) {
            nodeWriter.write(delimiters.escape(maintenanceOperationCoded.toString()));
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(maximumNumberOfOccurrences != null) {
            nodeWriter.write(delimiters.escape(maximumNumberOfOccurrencesEncoder.encode(maximumNumberOfOccurrences, 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 getDataElementTag() {
        return dataElementTag;
    }

    public DataElementUsageDetails setDataElementTag(String dataElementTag) {
        this.dataElementTag = dataElementTag;  return this;
    }

    public String getRequirementDesignatorCoded() {
        return requirementDesignatorCoded;
    }

    public DataElementUsageDetails setRequirementDesignatorCoded(String requirementDesignatorCoded) {
        this.requirementDesignatorCoded = requirementDesignatorCoded;  return this;
    }

    public String getSequenceNumber() {
        return sequenceNumber;
    }

    public DataElementUsageDetails setSequenceNumber(String sequenceNumber) {
        this.sequenceNumber = sequenceNumber;  return this;
    }

    public String getMaintenanceOperationCoded() {
        return maintenanceOperationCoded;
    }

    public DataElementUsageDetails setMaintenanceOperationCoded(String maintenanceOperationCoded) {
        this.maintenanceOperationCoded = maintenanceOperationCoded;  return this;
    }

    public BigDecimal getMaximumNumberOfOccurrences() {
        return maximumNumberOfOccurrences;
    }

    public DataElementUsageDetails setMaximumNumberOfOccurrences(BigDecimal maximumNumberOfOccurrences) {
        this.maximumNumberOfOccurrences = maximumNumberOfOccurrences;  return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy