Package uk.ac.starlink.votable.soap
Class AxisTableDeserializer
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.apache.axis.message.SOAPHandler
-
- org.apache.axis.encoding.DeserializerImpl
-
- uk.ac.starlink.votable.soap.AxisTableDeserializer
-
- All Implemented Interfaces:
java.io.Serializable,javax.xml.rpc.encoding.Deserializer,org.apache.axis.encoding.Callback,org.apache.axis.encoding.Deserializer,org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler,TableHandler
public class AxisTableDeserializer extends org.apache.axis.encoding.DeserializerImpl implements TableHandler
Custom deserializer for VOTables. The serialized stream is assumed to be a valid VOTABLE element containing a RESOURCE element containing a TABLE element.The implementation of this class is tailored to various ill-documented idiosyncracies of AXIS's deserialization machinery. Tinker at your peril.
- Since:
- 23 Mar 2005
- Author:
- Mark Taylor (Starlink)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AxisTableDeserializer(uk.ac.starlink.table.StoragePolicy storagePolicy)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancomponentsReady()voidendTable()Called when there are no more rows to be transmitted.java.lang.ObjectgetValue()voidonEndElement(java.lang.String namespace, java.lang.String localName, org.apache.axis.encoding.DeserializationContext context)org.apache.axis.message.SOAPHandleronStartChild(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes atts, org.apache.axis.encoding.DeserializationContext context)voidrowData(java.lang.Object[] row)Called when a row has been read.voidstartTable(uk.ac.starlink.table.StarTable meta)Called when a table is about to be transmitted.voidvalueComplete()-
Methods inherited from class org.apache.axis.encoding.DeserializerImpl
addChildDeserializer, endElement, getDefaultType, getMechanismType, getValue, getValueTargets, moveValueTargets, onStartElement, registerValueTarget, removeValueTargets, setChildValue, setDefaultType, setValue, setValue, startElement
-
Methods inherited from class org.apache.axis.message.SOAPHandler
characters, makeNewElement, onEndChild
-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
-
-
-
-
Method Detail
-
onStartChild
public org.apache.axis.message.SOAPHandler onStartChild(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes atts, org.apache.axis.encoding.DeserializationContext context) throws org.xml.sax.SAXException- Specified by:
onStartChildin interfaceorg.apache.axis.encoding.Deserializer- Overrides:
onStartChildin classorg.apache.axis.encoding.DeserializerImpl- Throws:
org.xml.sax.SAXException
-
onEndElement
public void onEndElement(java.lang.String namespace, java.lang.String localName, org.apache.axis.encoding.DeserializationContext context) throws org.xml.sax.SAXException- Specified by:
onEndElementin interfaceorg.apache.axis.encoding.Deserializer- Overrides:
onEndElementin classorg.apache.axis.encoding.DeserializerImpl- Throws:
org.xml.sax.SAXException
-
startTable
public void startTable(uk.ac.starlink.table.StarTable meta)
Description copied from interface:TableHandlerCalled when a table is about to be transmitted. This call will occur somewhere between matched DATA element startElement and endElement calls. The metadata argument signals column and table metadata argument about the table whose rows are about to be transmitted. If the number of rows that will be transmitted via subsequent calls to rowData is known, this value should be made available as the row count of metadata (StarTable.getRowCount()); if it is not known, the row count should be -1. However, this object should not attempt to read any of meta's cell data.The data to be transmitted in subsequent calls of acceptRow must match the metadata transmitted in this call in the same way that rows of a StarTable must match its own metadata (number and content clases of columns etc).
- Specified by:
startTablein interfaceTableHandler- Parameters:
meta- metadata object
-
rowData
public void rowData(java.lang.Object[] row) throws org.xml.sax.SAXExceptionDescription copied from interface:TableHandlerCalled when a row has been read. This method will be called between matched startTable and endTable calls.- Specified by:
rowDatain interfaceTableHandler- Parameters:
row- array of data objects representing a row in the current table- Throws:
org.xml.sax.SAXException
-
endTable
public void endTable() throws org.xml.sax.SAXExceptionDescription copied from interface:TableHandlerCalled when there are no more rows to be transmitted.- Specified by:
endTablein interfaceTableHandler- Throws:
org.xml.sax.SAXException
-
getValue
public java.lang.Object getValue()
- Specified by:
getValuein interfaceorg.apache.axis.encoding.Deserializer- Overrides:
getValuein classorg.apache.axis.encoding.DeserializerImpl
-
componentsReady
public boolean componentsReady()
- Specified by:
componentsReadyin interfaceorg.apache.axis.encoding.Deserializer- Overrides:
componentsReadyin classorg.apache.axis.encoding.DeserializerImpl
-
valueComplete
public void valueComplete() throws org.xml.sax.SAXException- Specified by:
valueCompletein interfaceorg.apache.axis.encoding.Deserializer- Overrides:
valueCompletein classorg.apache.axis.encoding.DeserializerImpl- Throws:
org.xml.sax.SAXException
-
-