Package org.apache.uima.cas_data.impl
Class XCasToCasDataSaxHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler
,org.xml.sax.DTDHandler
,org.xml.sax.EntityResolver
,org.xml.sax.ErrorHandler
public class XCasToCasDataSaxHandler extends org.xml.sax.helpers.DefaultHandler
A SAX ContentHandler that reads XCAS and creates a CasData.
-
-
Field Summary
Fields Modifier and Type Field Description private static int
ARRAY_ELE_CONTENT_STATE
private static int
ARRAY_ELE_STATE
private int
arrayPos
private int
arrayType
private java.lang.StringBuffer
buffer
private CasData
cas
private static int
CONTENT_STATE
private java.lang.String
currentContentFeat
private FeatureStructureImpl
currentFS
private static java.lang.String
DEFAULT_CONTENT_FEATURE
private static int
DOC_STATE
private static int
FEAT_CONTENT_STATE
private static int
FEAT_STATE
private static int
FLOAT_TYPE
private static int
FS_STATE
private static int
FS_TYPE
private static int
INT_TYPE
private org.xml.sax.Locator
locator
private static java.lang.String
reservedAttrPrefix
private int
state
private static int
STRING_TYPE
private static java.lang.String
unknownXMLSource
-
Constructor Summary
Constructors Constructor Description XCasToCasDataSaxHandler(CasData aCasData)
Create new XCasToCasDataSaxHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addArrayElement(java.lang.String content)
void
characters(char[] chars, int start, int length)
private XCASParsingException
createException(int code)
private XCASParsingException
createException(int code, java.lang.String arg)
private boolean
emptyVal(java.lang.String val)
void
endDocument()
void
endElement(java.lang.String nsURI, java.lang.String localName, java.lang.String qualifiedName)
void
error(org.xml.sax.SAXParseException e)
void
fatalError(org.xml.sax.SAXParseException e)
private java.lang.String
getCasTypeName(java.lang.String aTagName)
Gets the CAS type name corresponding to an XCAS tag name.private void
handleFeature(FeatureStructureImpl fsImpl, java.lang.String featName, java.lang.String featVal)
void
ignorableWhitespace(char[] arg0, int arg1, int arg2)
(package private) boolean
isAllWhitespace(java.lang.StringBuffer b)
private boolean
isArrayType(java.lang.String typeName)
private int[]
parseIntArray(java.lang.String val)
Parse a space-separated string into an integer array.private void
readArray(java.lang.String type, org.xml.sax.Attributes attrs)
private void
readArrayElement(java.lang.String eleName, org.xml.sax.Attributes attrs)
private void
readFS(java.lang.String qualifiedName, org.xml.sax.Attributes attrs)
private void
readFS(FeatureStructureImpl fsImpl, org.xml.sax.Attributes attrs)
private void
resetBuffer()
void
setDocumentLocator(org.xml.sax.Locator loc)
void
startDocument()
void
startElement(java.lang.String nameSpaceURI, java.lang.String localName, java.lang.String qualifiedName, org.xml.sax.Attributes attrs)
void
warning(org.xml.sax.SAXParseException e)
-
-
-
Field Detail
-
DOC_STATE
private static final int DOC_STATE
- See Also:
- Constant Field Values
-
FS_STATE
private static final int FS_STATE
- See Also:
- Constant Field Values
-
FEAT_STATE
private static final int FEAT_STATE
- See Also:
- Constant Field Values
-
CONTENT_STATE
private static final int CONTENT_STATE
- See Also:
- Constant Field Values
-
FEAT_CONTENT_STATE
private static final int FEAT_CONTENT_STATE
- See Also:
- Constant Field Values
-
ARRAY_ELE_CONTENT_STATE
private static final int ARRAY_ELE_CONTENT_STATE
- See Also:
- Constant Field Values
-
ARRAY_ELE_STATE
private static final int ARRAY_ELE_STATE
- See Also:
- Constant Field Values
-
reservedAttrPrefix
private static final java.lang.String reservedAttrPrefix
- See Also:
- Constant Field Values
-
unknownXMLSource
private static final java.lang.String unknownXMLSource
- See Also:
- Constant Field Values
-
DEFAULT_CONTENT_FEATURE
private static final java.lang.String DEFAULT_CONTENT_FEATURE
- See Also:
- Constant Field Values
-
locator
private org.xml.sax.Locator locator
-
cas
private CasData cas
-
state
private int state
-
buffer
private java.lang.StringBuffer buffer
-
currentFS
private FeatureStructureImpl currentFS
-
currentContentFeat
private java.lang.String currentContentFeat
-
arrayPos
private int arrayPos
-
arrayType
private int arrayType
-
INT_TYPE
private static final int INT_TYPE
- See Also:
- Constant Field Values
-
FLOAT_TYPE
private static final int FLOAT_TYPE
- See Also:
- Constant Field Values
-
STRING_TYPE
private static final int STRING_TYPE
- See Also:
- Constant Field Values
-
FS_TYPE
private static final int FS_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
XCasToCasDataSaxHandler
public XCasToCasDataSaxHandler(CasData aCasData)
Create new XCasToCasDataSaxHandler.- Parameters:
aCasData
- the CasData to which FeatureStructures parsed from XCAS will be appended
-
-
Method Detail
-
resetBuffer
private final void resetBuffer()
-
startDocument
public void startDocument() throws org.xml.sax.SAXException
- Specified by:
startDocument
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startDocument
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
startElement
public void startElement(java.lang.String nameSpaceURI, java.lang.String localName, java.lang.String qualifiedName, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXException
- Specified by:
startElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
readArrayElement
private void readArrayElement(java.lang.String eleName, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXParseException
- Throws:
org.xml.sax.SAXParseException
-
readFS
private void readFS(java.lang.String qualifiedName, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXParseException
- Throws:
org.xml.sax.SAXParseException
-
getCasTypeName
private java.lang.String getCasTypeName(java.lang.String aTagName)
Gets the CAS type name corresponding to an XCAS tag name. The type name is usually equal to the tag name, but the characters : and - are translated into the sequences _colon_ and _dash_, respectively.- Parameters:
aTagName
- XCAS tag name- Returns:
- CAS type name corresponding to this tag
-
readFS
private void readFS(FeatureStructureImpl fsImpl, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXParseException
- Throws:
org.xml.sax.SAXParseException
-
parseIntArray
private int[] parseIntArray(java.lang.String val)
Parse a space-separated string into an integer array.
-
readArray
private void readArray(java.lang.String type, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXParseException
- Throws:
org.xml.sax.SAXParseException
-
emptyVal
private final boolean emptyVal(java.lang.String val)
-
handleFeature
private void handleFeature(FeatureStructureImpl fsImpl, java.lang.String featName, java.lang.String featVal) throws org.xml.sax.SAXParseException
- Throws:
org.xml.sax.SAXParseException
-
characters
public void characters(char[] chars, int start, int length) throws org.xml.sax.SAXException
- Specified by:
characters
in interfaceorg.xml.sax.ContentHandler
- Overrides:
characters
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
endElement
public void endElement(java.lang.String nsURI, java.lang.String localName, java.lang.String qualifiedName) throws org.xml.sax.SAXException
- Specified by:
endElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
isAllWhitespace
boolean isAllWhitespace(java.lang.StringBuffer b)
-
addArrayElement
private void addArrayElement(java.lang.String content) throws org.xml.sax.SAXParseException
- Throws:
org.xml.sax.SAXParseException
-
endDocument
public void endDocument() throws org.xml.sax.SAXException
- Specified by:
endDocument
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endDocument
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
createException
private XCASParsingException createException(int code)
-
createException
private XCASParsingException createException(int code, java.lang.String arg)
-
error
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
- Specified by:
error
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
error
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
fatalError
public void fatalError(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
- Specified by:
fatalError
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
fatalError
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
ignorableWhitespace
public void ignorableWhitespace(char[] arg0, int arg1, int arg2) throws org.xml.sax.SAXException
- Specified by:
ignorableWhitespace
in interfaceorg.xml.sax.ContentHandler
- Overrides:
ignorableWhitespace
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
setDocumentLocator
public void setDocumentLocator(org.xml.sax.Locator loc)
- Specified by:
setDocumentLocator
in interfaceorg.xml.sax.ContentHandler
- Overrides:
setDocumentLocator
in classorg.xml.sax.helpers.DefaultHandler
-
warning
public void warning(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
- Specified by:
warning
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
warning
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
isArrayType
private boolean isArrayType(java.lang.String typeName)
-
-