|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.milyn.edisax.EDIParser
public class EDIParser
EDI Parser.
Generates a stream of SAX events from an EDI message stream based on the suppliedmapping model.
InputStream ediInputStream = ....
InputStream edi2SaxMappingConfig = ....
ContentHandler contentHandler = ....
EDIParser parser = new EDIParser();
parser.setContentHandler(contentHandler);
parser.setMappingModel(EDIParser.parseMappingModel(edi2SaxMappingConfig));
parser.parse(new InputSource(ediInputStream));
etc...
So the above illustration attempts to highlight the following:
regex pattern match on the full segment, where the segcode attribute defines the
regex pattern (e.g. segcode="1A\*a.*").
| Field Summary | |
|---|---|
static String |
FEATURE_IGNORE_EMPTY_NODES
|
static String |
FEATURE_IGNORE_NEWLINES
|
static String |
FEATURE_VALIDATE
|
| Constructor Summary | |
|---|---|
EDIParser()
|
|
| Method Summary | |
|---|---|
void |
endElement(MappingNode node,
boolean indent)
|
void |
endElement(String elementName,
String namespace,
boolean indent)
|
ContentHandler |
getContentHandler()
|
DTDHandler |
getDTDHandler()
|
EntityResolver |
getEntityResolver()
|
ErrorHandler |
getErrorHandler()
|
boolean |
getFeature(String name)
|
Map<String,Boolean> |
getFeatures()
|
MutableInt |
getIndentDepth()
Get the indent depth counter |
Object |
getProperty(String name)
|
void |
mapFields(String[] currentSegmentFields,
Segment segment)
Map the individual field values based on the supplied expected field configs. |
void |
parse()
Parse an EDI message, using a supplied segment reader. |
void |
parse(InputSource ediInputSource)
Parse an EDI InputSource. |
void |
parse(String systemId)
The following methods are currently unimplemnted... |
static EdifactModel |
parseMappingModel(InputStream mappingConfigStream)
Parse the supplied mapping model config stream and return the generated EdiMap. |
static EdifactModel |
parseMappingModel(InputStream mappingConfigStream,
Description mappingDescription,
URI resourceURI,
URI importBaseURI)
Parse the supplied mapping model config stream and return the generated EdiMap. |
static EdifactModel |
parseMappingModel(Reader mappingConfigStream)
Parse the supplied mapping model config stream and return the generated EdiMap. |
static EdifactModel |
parseMappingModel(Reader mappingConfigStream,
Description mappingDescription,
URI resourceURI,
URI importBaseURI)
Parse the supplied mapping model config stream and return the generated EdiMap. |
static EdifactModel |
parseMappingModel(String mappingConfig,
URI baseURI)
Parse the supplied mapping model config path and return the generated EdiMap. |
EDIParser |
setBufferedSegmentReader(BufferedSegmentReader segmentReader)
|
void |
setContentHandler(ContentHandler contentHandler)
|
void |
setDTDHandler(DTDHandler arg0)
|
void |
setEntityResolver(EntityResolver arg0)
|
void |
setErrorHandler(ErrorHandler arg0)
|
void |
setFeature(String name,
boolean value)
|
void |
setIndentDepth(MutableInt indentDepth)
Set the indent depth counter |
void |
setMappingModel(EdifactModel mappingModel)
Set the EDI mapping model to be used in all subsequent parse operations. |
void |
setNamespaceDeclarationStack(NamespaceDeclarationStack nsStack)
Set the NamespaceDeclarationStack to be used by the reader instance. |
void |
setProperty(String name,
Object value)
|
void |
startElement(MappingNode node,
boolean indent)
|
void |
startElement(String elementName,
String namespace,
boolean indent)
|
void |
startElement(String elementName,
String namespace,
boolean indent,
Attributes attributes)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String FEATURE_VALIDATE
public static final String FEATURE_IGNORE_NEWLINES
public static final String FEATURE_IGNORE_EMPTY_NODES
| Constructor Detail |
|---|
public EDIParser()
| Method Detail |
|---|
public void setNamespaceDeclarationStack(NamespaceDeclarationStack nsStack)
NamespaceDeclarationStack to be used by the reader instance.
nsStack - The NamespaceDeclarationStack to be used by the reader instance.
public static EdifactModel parseMappingModel(String mappingConfig,
URI baseURI)
throws IOException,
SAXException,
EDIConfigurationException
setMappingModel(EdifactModel).
mappingConfig - Config path. Must conform with the
edi-message-mapping-1.0.xsd
schema.baseURI - The base URI against which the config path is to be resolved. This works on down
and helps in resolving imported model.
IOException - Error reading the model stream.
SAXException - Invalid model.
EDIConfigurationException - when edi-mapping-configuration is incorrect.
public static EdifactModel parseMappingModel(InputStream mappingConfigStream)
throws IOException,
SAXException,
EDIConfigurationException
setMappingModel(EdifactModel).
mappingConfigStream - Config stream. Must conform with the
edi-message-mapping-1.0.xsd
schema.
IOException - Error reading the model stream.
SAXException - Invalid model.
EDIConfigurationException - when edi-mapping-configuration is incorrect.
public static EdifactModel parseMappingModel(InputStream mappingConfigStream,
Description mappingDescription,
URI resourceURI,
URI importBaseURI)
throws IOException,
SAXException,
EDIConfigurationException
setMappingModel(EdifactModel).
mappingConfigStream - Config stream. Must conform with the
edi-message-mapping-1.0.xsd
schema.mappingDescription - Mapping Model Description.resourceURI - The resource URI.importBaseURI - The base URI for loading imports.
IOException - Error reading the model stream.
SAXException - Invalid model.
EDIConfigurationException - when edi-mapping-configuration is incorrect.
public static EdifactModel parseMappingModel(Reader mappingConfigStream)
throws IOException,
SAXException,
EDIConfigurationException
setMappingModel(org.milyn.edisax.model.EdifactModel).
mappingConfigStream - Config stream. Must conform with the
edi-message-mapping-1.0.xsd
schema.
IOException - Error reading the model stream.
SAXException - Invalid model.
EDIConfigurationException - when edi-mapping-configuration is incorrect.
public static EdifactModel parseMappingModel(Reader mappingConfigStream,
Description mappingDescription,
URI resourceURI,
URI importBaseURI)
throws IOException,
SAXException,
EDIConfigurationException
setMappingModel(org.milyn.edisax.model.EdifactModel).
mappingConfigStream - Config stream. Must conform with the
edi-message-mapping-1.0.xsd
schema.mappingDescription - Mapping Model Description.resourceURI - The resource URI.importBaseURI - The base URI for loading imports.
IOException - Error reading the model stream.
SAXException - Invalid model.
EDIConfigurationException - when edi-mapping-configuration is incorrect.public void setMappingModel(EdifactModel mappingModel)
EDIParser.
mappingModel - The mapping model.public MutableInt getIndentDepth()
public void setIndentDepth(MutableInt indentDepth)
indentDepth - Indent depth counter.
public void parse(InputSource ediInputSource)
throws IOException,
SAXException
parse in interface XMLReaderIOException
SAXException
public void parse()
throws IOException,
SAXException
IOException
SAXExceptionpublic EDIParser setBufferedSegmentReader(BufferedSegmentReader segmentReader)
public void mapFields(String[] currentSegmentFields,
Segment segment)
throws SAXException
currentSegmentFields - Segment fields from the input message.segment - List of expected field mapping configurations that the currentSegmentFields
are expected to map to.
SAXException - EDI processing exception.
public void startElement(MappingNode node,
boolean indent)
throws SAXException
SAXException
public void startElement(String elementName,
String namespace,
boolean indent)
throws SAXException
SAXException
public void startElement(String elementName,
String namespace,
boolean indent,
Attributes attributes)
throws SAXException
SAXException
public void endElement(MappingNode node,
boolean indent)
throws SAXException
SAXException
public void endElement(String elementName,
String namespace,
boolean indent)
throws SAXException
SAXExceptionpublic void setContentHandler(ContentHandler contentHandler)
setContentHandler in interface XMLReaderpublic ContentHandler getContentHandler()
getContentHandler in interface XMLReaderpublic Map<String,Boolean> getFeatures()
public void parse(String systemId)
throws IOException,
SAXException
parse in interface XMLReaderIOException
SAXExceptionpublic boolean getFeature(String name)
getFeature in interface XMLReader
public void setFeature(String name,
boolean value)
setFeature in interface XMLReaderpublic DTDHandler getDTDHandler()
getDTDHandler in interface XMLReaderpublic void setDTDHandler(DTDHandler arg0)
setDTDHandler in interface XMLReaderpublic EntityResolver getEntityResolver()
getEntityResolver in interface XMLReaderpublic void setEntityResolver(EntityResolver arg0)
setEntityResolver in interface XMLReaderpublic ErrorHandler getErrorHandler()
getErrorHandler in interface XMLReaderpublic void setErrorHandler(ErrorHandler arg0)
setErrorHandler in interface XMLReader
public Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException
getProperty in interface XMLReaderSAXNotRecognizedException
SAXNotSupportedException
public void setProperty(String name,
Object value)
throws SAXNotRecognizedException,
SAXNotSupportedException
setProperty in interface XMLReaderSAXNotRecognizedException
SAXNotSupportedException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||