com.berryworks.edireader
Class EDIReaderWrapper

java.lang.Object
  extended by com.berryworks.edireader.EDIAbstractReader
      extended by com.berryworks.edireader.EDIReader
          extended by com.berryworks.edireader.EDIReaderWrapper
All Implemented Interfaces:
com.berryworks.edireader.error.ErrorMessages, org.xml.sax.XMLReader

public class EDIReaderWrapper
extends EDIReader

This EDIReader subclass wraps an EDIReader delegate, providing an opportunity to decorate the delegate with additional features.


Field Summary
 
Fields inherited from class com.berryworks.edireader.EDIReader
debug
 
Fields inherited from interface com.berryworks.edireader.error.ErrorMessages
CONTROL_NUMBER_GE, CONTROL_NUMBER_IEA, CONTROL_NUMBER_SE, CONTROL_NUMBER_UNT, CONTROL_NUMBER_UNZ, COUNT_GE, COUNT_IEA, COUNT_SE, COUNT_UNT, COUNT_UNZ, DIGITS_ONLY, ELEMENT_TOO_LONG, EXPECTED_SIMPLE_TOKEN, FIRST_SEGMENT_MUST_BE_UNA_OR_UNB, INCOMPLETE_ACH_MESSAGE, INCOMPLETE_HL7_MESSAGE, INCOMPLETE_X12, INTERNAL_ERROR_MULTIPLE_EOFS, INTERNAL_ERROR_MULTIPLE_PREVIEWS, INVALID_BEGINNING_OF_SEGMENT, INVALID_COMPOSITE, INVALID_SEGMENT_TERMINATOR, INVALID_UNA, ISA_FIELD_WIDTH, ISA_SEGMENT_HAS_TOO_FEW_FIELDS, MALFORMED_EDI_SEGMENT, MANDATORY_ELEMENT_MISSING, MISMATCHED_PACKAGE_REF, MISMATCHED_UNP_LENGTH, MISSING_UNO_LENGTH, MISSING_UNP, NO_HL7_PARSER, NO_STANDARD_BEGINS_WITH, TOO_MANY_ISA_FIELDS, UNEXPECTED_EOF, UNEXPECTED_SEGMENT_IN_CONTEXT, X12_MISSING_ISA
 
Constructor Summary
EDIReaderWrapper()
           
EDIReaderWrapper(EDIReader wrappedEdiReader)
           
 
Method Summary
 SyntaxDescriptor getAcknowledgmentSyntaxDescriptor()
           
 com.berryworks.edireader.util.BranchingWriter getAckStream()
           
 int getCharCount()
           
 org.xml.sax.ContentHandler getContentHandler()
           
 char getDecimalMark()
          Gets the character used as the decimal point in currency.
 char getDelimiter()
          Gets the character marking the boundary between fields
 EDIAttributes getDocumentAttributes()
           
 org.xml.sax.DTDHandler getDTDHandler()
           
 org.xml.sax.EntityResolver getEntityResolver()
           
 org.xml.sax.ErrorHandler getErrorHandler()
           
 boolean getFeature(java.lang.String name)
           
 java.lang.String getFirstSegment()
           
 EDIAttributes getGroupAttributes()
           
 EDIAttributes getInterchangeAttributes()
           
 java.lang.Object getProperty(java.lang.String name)
           
 int getRelease()
          Gets the character used in release/escape sequences.
 char getReleaseCharacter()
           
 char getRepetitionSeparator()
          Gets the character marking the boundary between repeating fields.
 int getSegmentCharCount()
           
 char getSubDelimiter()
          Gets the character marking the boundary between sub-fields.
 char getSubSubDelimiter()
          Gets the character marking the boundary between sub-sub-fields.
 com.berryworks.edireader.error.EDISyntaxExceptionHandler getSyntaxExceptionHandler()
           
 char getTerminator()
          Gets the character marking the boundary between segments
 java.lang.String getTerminatorSuffix()
          Gets the short String of 'whitespace' characters that follows the terminator.
 com.berryworks.edireader.tokenizer.Tokenizer getTokenizer()
           
 TransactionCallback getTransactionCallback()
           
 EDIReader getWrappedEDIReader()
           
 XMLTags getXMLTags()
           
 boolean isNamespaceEnabled()
           
 boolean isPreviewed()
           
 boolean isReleaseCharacterDefined()
           
 void parse(org.xml.sax.InputSource source)
          Parse an EDI interchange from the input source.
 void parse(java.lang.String systemId)
          Parse the EDI interchange.
 void preview()
          Read enough of the EDI interchange to establish which characters are used for segment terminators, element delimiters, etc.
 void setAcknowledgment(java.io.Writer writer)
          Indicate that functional acknowledgments are to be generated by designating a Writer.
 void setAcknowledgment(java.io.Writer writer, SyntaxDescriptor syntaxDescriptor)
           
 void setAcknowledgmentSyntaxDescriptor(SyntaxDescriptor syntaxDescriptor)
           
 void setAckStream(com.berryworks.edireader.util.BranchingWriter ackStream)
           
 void setContentHandler(org.xml.sax.ContentHandler handler)
           
 void setCopyWriter(java.io.Writer writer)
           
 void setDecimalMark(char decimalMark)
           
 void setDelimiter(char delimiter)
           
 void setDTDHandler(org.xml.sax.DTDHandler handler)
           
 void setEntityResolver(org.xml.sax.EntityResolver resolver)
           
 void setErrorHandler(org.xml.sax.ErrorHandler handler)
           
 void setFeature(java.lang.String name, boolean value)
           
 void setFirstSegment(java.lang.String firstSegment)
           
 void setLocale(java.util.Locale locale)
           
 void setNamespaceEnabled(boolean namespaceEnabled)
           
 void setPreviewed(boolean previewed)
           
 void setProperty(java.lang.String name, java.lang.Object value)
           
 void setRelease(int release)
           
 void setRepetitionSeparator(char repetitionSeparator)
           
 void setSubDelimiter(char subDelimiter)
           
 void setSubSubDelimiter(char subSubDelimiter)
           
 void setSyntaxExceptionHandler(com.berryworks.edireader.error.EDISyntaxExceptionHandler syntaxExceptionHandler)
           
 void setTerminator(char terminator)
           
 void setTerminatorSuffix(java.lang.String terminatorSuffix)
           
 void setTokenizer(com.berryworks.edireader.tokenizer.Tokenizer t)
           
 void setTransactionCallback(TransactionCallback transactionCallback)
           
 void setXMLTags(XMLTags tags)
           
 java.lang.String toString()
           
 
Methods inherited from class com.berryworks.edireader.EDIReader
setDebug
 
Methods inherited from class com.berryworks.edireader.EDIAbstractReader
emptyStringIfNull, isExternalXmlDocumentStart, isInterchangeAcknowledgment, isPresent, setExternalXmlDocumentStart, setInterchangeAcknowledgment, trace
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EDIReaderWrapper

public EDIReaderWrapper(EDIReader wrappedEdiReader)

EDIReaderWrapper

public EDIReaderWrapper()
Method Detail

getWrappedEDIReader

public EDIReader getWrappedEDIReader()

preview

public void preview()
             throws EDISyntaxException,
                    java.io.IOException
Description copied from class: EDIReader
Read enough of the EDI interchange to establish which characters are used for segment terminators, element delimiters, etc. Each subclass of EDIReader overrides this method with logic specific to a particular EDI standard. Upon return, the input stream has been re-positioned so that the interchange will be parsed from the beginning by parse().

Overrides:
preview in class EDIReader
Throws:
EDISyntaxException - if invalid EDI is detected
java.io.IOException - for problem reading EDI data

parse

public void parse(org.xml.sax.InputSource source)
           throws org.xml.sax.SAXException,
                  java.io.IOException
Description copied from class: EDIReader
Parse an EDI interchange from the input source.

Specified by:
parse in interface org.xml.sax.XMLReader
Overrides:
parse in class EDIReader
Throws:
org.xml.sax.SAXException
java.io.IOException

setXMLTags

public void setXMLTags(XMLTags tags)
Overrides:
setXMLTags in class EDIReader

getXMLTags

public XMLTags getXMLTags()
Overrides:
getXMLTags in class EDIReader

getTerminator

public char getTerminator()
Description copied from class: EDIAbstractReader
Gets the character marking the boundary between segments

Overrides:
getTerminator in class EDIAbstractReader
Returns:
The terminator value

getTerminatorSuffix

public java.lang.String getTerminatorSuffix()
Description copied from class: EDIAbstractReader
Gets the short String of 'whitespace' characters that follows the terminator.

Overrides:
getTerminatorSuffix in class EDIAbstractReader
Returns:
The terminator value

getDelimiter

public char getDelimiter()
Description copied from class: EDIAbstractReader
Gets the character marking the boundary between fields

Overrides:
getDelimiter in class EDIAbstractReader
Returns:
The delimiter value

getSubDelimiter

public char getSubDelimiter()
Description copied from class: EDIAbstractReader
Gets the character marking the boundary between sub-fields. Subfields may be called by different names in different EDI standards.

Overrides:
getSubDelimiter in class EDIAbstractReader
Returns:
The subDelimiter value

getRelease

public int getRelease()
Description copied from class: EDIAbstractReader
Gets the character used in release/escape sequences. Exactly how this character is used may differ between standards. In ANSI, there is no release mechanism. When no release character is available, the int value -1 is returned, otherwise a char value is returned via the int.

Overrides:
getRelease in class EDIAbstractReader
Returns:
The release char value or -1 if none

getReleaseCharacter

public char getReleaseCharacter()
Overrides:
getReleaseCharacter in class EDIAbstractReader

isReleaseCharacterDefined

public boolean isReleaseCharacterDefined()
Overrides:
isReleaseCharacterDefined in class EDIAbstractReader

getDecimalMark

public char getDecimalMark()
Description copied from class: EDIAbstractReader
Gets the character used as the decimal point in currency. This is the period (".") in the USA and many other countries, but can also be the comma (",").

Overrides:
getDecimalMark in class EDIAbstractReader
Returns:
mark

getSubSubDelimiter

public char getSubSubDelimiter()
Description copied from class: EDIAbstractReader
Gets the character marking the boundary between sub-sub-fields. Sub-sub-fields are not used in ANSI or EDIFACT, but appear in HL7.

Overrides:
getSubSubDelimiter in class EDIAbstractReader
Returns:
The subSubDelimiter value

getRepetitionSeparator

public char getRepetitionSeparator()
Description copied from class: EDIAbstractReader
Gets the character marking the boundary between repeating fields.

Overrides:
getRepetitionSeparator in class EDIAbstractReader
Returns:
The repetitionSeparator value

getTokenizer

public com.berryworks.edireader.tokenizer.Tokenizer getTokenizer()
Overrides:
getTokenizer in class EDIAbstractReader

setTokenizer

public void setTokenizer(com.berryworks.edireader.tokenizer.Tokenizer t)
Overrides:
setTokenizer in class EDIAbstractReader

setCopyWriter

public void setCopyWriter(java.io.Writer writer)
Overrides:
setCopyWriter in class EDIAbstractReader

setAcknowledgment

public void setAcknowledgment(java.io.Writer writer)
Description copied from class: EDIAbstractReader
Indicate that functional acknowledgments are to be generated by designating a Writer. This method should be called before calling parse() if acknowledgments are desired.

Overrides:
setAcknowledgment in class EDIAbstractReader
Parameters:
writer - The new acknowledgment value

setAcknowledgment

public void setAcknowledgment(java.io.Writer writer,
                              SyntaxDescriptor syntaxDescriptor)
Overrides:
setAcknowledgment in class EDIAbstractReader

getAcknowledgmentSyntaxDescriptor

public SyntaxDescriptor getAcknowledgmentSyntaxDescriptor()
Overrides:
getAcknowledgmentSyntaxDescriptor in class EDIAbstractReader

setAcknowledgmentSyntaxDescriptor

public void setAcknowledgmentSyntaxDescriptor(SyntaxDescriptor syntaxDescriptor)
Overrides:
setAcknowledgmentSyntaxDescriptor in class EDIAbstractReader

getTransactionCallback

public TransactionCallback getTransactionCallback()
Overrides:
getTransactionCallback in class EDIAbstractReader

setTransactionCallback

public void setTransactionCallback(TransactionCallback transactionCallback)
Overrides:
setTransactionCallback in class EDIAbstractReader

getSyntaxExceptionHandler

public com.berryworks.edireader.error.EDISyntaxExceptionHandler getSyntaxExceptionHandler()
Overrides:
getSyntaxExceptionHandler in class EDIAbstractReader

setSyntaxExceptionHandler

public void setSyntaxExceptionHandler(com.berryworks.edireader.error.EDISyntaxExceptionHandler syntaxExceptionHandler)
Overrides:
setSyntaxExceptionHandler in class EDIAbstractReader

isNamespaceEnabled

public boolean isNamespaceEnabled()
Overrides:
isNamespaceEnabled in class EDIAbstractReader

setNamespaceEnabled

public void setNamespaceEnabled(boolean namespaceEnabled)
Overrides:
setNamespaceEnabled in class EDIAbstractReader

setLocale

public void setLocale(java.util.Locale locale)
               throws org.xml.sax.SAXException
Overrides:
setLocale in class EDIAbstractReader
Throws:
org.xml.sax.SAXException

setEntityResolver

public void setEntityResolver(org.xml.sax.EntityResolver resolver)
Specified by:
setEntityResolver in interface org.xml.sax.XMLReader
Overrides:
setEntityResolver in class EDIAbstractReader

setDTDHandler

public void setDTDHandler(org.xml.sax.DTDHandler handler)
Specified by:
setDTDHandler in interface org.xml.sax.XMLReader
Overrides:
setDTDHandler in class EDIAbstractReader

setErrorHandler

public void setErrorHandler(org.xml.sax.ErrorHandler handler)
Specified by:
setErrorHandler in interface org.xml.sax.XMLReader
Overrides:
setErrorHandler in class EDIAbstractReader

parse

public void parse(java.lang.String systemId)
           throws org.xml.sax.SAXException,
                  java.io.IOException
Description copied from class: EDIAbstractReader
Parse the EDI interchange. Each subclass must override this method.

Specified by:
parse in interface org.xml.sax.XMLReader
Overrides:
parse in class EDIAbstractReader
Throws:
org.xml.sax.SAXException
java.io.IOException

setContentHandler

public void setContentHandler(org.xml.sax.ContentHandler handler)
Specified by:
setContentHandler in interface org.xml.sax.XMLReader
Overrides:
setContentHandler in class EDIAbstractReader

getContentHandler

public org.xml.sax.ContentHandler getContentHandler()
Specified by:
getContentHandler in interface org.xml.sax.XMLReader
Overrides:
getContentHandler in class EDIAbstractReader

setFeature

public void setFeature(java.lang.String name,
                       boolean value)
                throws org.xml.sax.SAXNotRecognizedException,
                       org.xml.sax.SAXNotSupportedException
Specified by:
setFeature in interface org.xml.sax.XMLReader
Overrides:
setFeature in class EDIAbstractReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

getFeature

public boolean getFeature(java.lang.String name)
                   throws org.xml.sax.SAXNotRecognizedException,
                          org.xml.sax.SAXNotSupportedException
Specified by:
getFeature in interface org.xml.sax.XMLReader
Overrides:
getFeature in class EDIAbstractReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
                 throws org.xml.sax.SAXNotRecognizedException,
                        org.xml.sax.SAXNotSupportedException
Specified by:
setProperty in interface org.xml.sax.XMLReader
Overrides:
setProperty in class EDIAbstractReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

getProperty

public java.lang.Object getProperty(java.lang.String name)
                             throws org.xml.sax.SAXNotRecognizedException,
                                    org.xml.sax.SAXNotSupportedException
Specified by:
getProperty in interface org.xml.sax.XMLReader
Overrides:
getProperty in class EDIAbstractReader
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

getErrorHandler

public org.xml.sax.ErrorHandler getErrorHandler()
Specified by:
getErrorHandler in interface org.xml.sax.XMLReader
Overrides:
getErrorHandler in class EDIAbstractReader

getDTDHandler

public org.xml.sax.DTDHandler getDTDHandler()
Specified by:
getDTDHandler in interface org.xml.sax.XMLReader
Overrides:
getDTDHandler in class EDIAbstractReader

getEntityResolver

public org.xml.sax.EntityResolver getEntityResolver()
Specified by:
getEntityResolver in interface org.xml.sax.XMLReader
Overrides:
getEntityResolver in class EDIAbstractReader

getCharCount

public int getCharCount()
Overrides:
getCharCount in class EDIAbstractReader

getSegmentCharCount

public int getSegmentCharCount()
Overrides:
getSegmentCharCount in class EDIAbstractReader

setDelimiter

public void setDelimiter(char delimiter)
Overrides:
setDelimiter in class EDIAbstractReader

setSubDelimiter

public void setSubDelimiter(char subDelimiter)
Overrides:
setSubDelimiter in class EDIAbstractReader

setSubSubDelimiter

public void setSubSubDelimiter(char subSubDelimiter)
Overrides:
setSubSubDelimiter in class EDIAbstractReader

setDecimalMark

public void setDecimalMark(char decimalMark)
Overrides:
setDecimalMark in class EDIAbstractReader

setRepetitionSeparator

public void setRepetitionSeparator(char repetitionSeparator)
Overrides:
setRepetitionSeparator in class EDIAbstractReader

setTerminator

public void setTerminator(char terminator)
Overrides:
setTerminator in class EDIAbstractReader

setRelease

public void setRelease(int release)
Overrides:
setRelease in class EDIAbstractReader

setTerminatorSuffix

public void setTerminatorSuffix(java.lang.String terminatorSuffix)
Overrides:
setTerminatorSuffix in class EDIAbstractReader

getDocumentAttributes

public EDIAttributes getDocumentAttributes()
Overrides:
getDocumentAttributes in class EDIAbstractReader

getInterchangeAttributes

public EDIAttributes getInterchangeAttributes()
Overrides:
getInterchangeAttributes in class EDIAbstractReader

getGroupAttributes

public EDIAttributes getGroupAttributes()
Overrides:
getGroupAttributes in class EDIAbstractReader

getAckStream

public com.berryworks.edireader.util.BranchingWriter getAckStream()
Overrides:
getAckStream in class EDIAbstractReader

setAckStream

public void setAckStream(com.berryworks.edireader.util.BranchingWriter ackStream)
Overrides:
setAckStream in class EDIAbstractReader

isPreviewed

public boolean isPreviewed()
Overrides:
isPreviewed in class EDIAbstractReader

setPreviewed

public void setPreviewed(boolean previewed)
Overrides:
setPreviewed in class EDIAbstractReader

getFirstSegment

public java.lang.String getFirstSegment()
Overrides:
getFirstSegment in class EDIAbstractReader

setFirstSegment

public void setFirstSegment(java.lang.String firstSegment)
Overrides:
setFirstSegment in class EDIAbstractReader

toString

public java.lang.String toString()
Overrides:
toString in class EDIAbstractReader