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

org.milyn.edi.unedifact.d98a.common.FreeText 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 org.milyn.edi.unedifact.d98a.common.field.TextReferenceC107;    
import org.milyn.edi.unedifact.d98a.common.field.TextLiteralC108;    
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 FreeText implements Serializable, EDIWritable {

    private static final long serialVersionUID = 1L;

    private String textSubjectQualifier;
    private String textFunctionCoded;
    private TextReferenceC107 textReference;
    private TextLiteralC108 textLiteral;
    private String languageCoded;

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

        List nodeTokens = new ArrayList();

        if(textSubjectQualifier != null) {
            nodeWriter.write(delimiters.escape(textSubjectQualifier.toString()));
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(textFunctionCoded != null) {
            nodeWriter.write(delimiters.escape(textFunctionCoded.toString()));
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(textReference != null) {
            textReference.write(nodeWriter, delimiters);
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(textLiteral != null) {
            textLiteral.write(nodeWriter, delimiters);
            nodeTokens.add(nodeWriter.toString());
            ((StringWriter)nodeWriter).getBuffer().setLength(0);
        }
        nodeWriter.write(delimiters.getField());
        if(languageCoded != null) {
            nodeWriter.write(delimiters.escape(languageCoded.toString()));
            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 getTextSubjectQualifier() {
        return textSubjectQualifier;
    }

    public FreeText setTextSubjectQualifier(String textSubjectQualifier) {
        this.textSubjectQualifier = textSubjectQualifier;  return this;
    }

    public String getTextFunctionCoded() {
        return textFunctionCoded;
    }

    public FreeText setTextFunctionCoded(String textFunctionCoded) {
        this.textFunctionCoded = textFunctionCoded;  return this;
    }

    public TextReferenceC107 getTextReference() {
        return textReference;
    }

    public FreeText setTextReference(TextReferenceC107 textReference) {
        this.textReference = textReference;  return this;
    }

    public TextLiteralC108 getTextLiteral() {
        return textLiteral;
    }

    public FreeText setTextLiteral(TextLiteralC108 textLiteral) {
        this.textLiteral = textLiteral;  return this;
    }

    public String getLanguageCoded() {
        return languageCoded;
    }

    public FreeText setLanguageCoded(String languageCoded) {
        this.languageCoded = languageCoded;  return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy