Package psidev.psi.mi.jami.xml.io.parser
Class AbstractPsiXmlParser<T extends Interaction>
- java.lang.Object
-
- psidev.psi.mi.jami.xml.io.parser.AbstractPsiXmlParser<T>
-
- All Implemented Interfaces:
PsiXmlParser<T>
- Direct Known Subclasses:
LightXmlParser,XmlComplexParser,XmlEvidenceParser,XmlModelledParser,XmlParser
public abstract class AbstractPsiXmlParser<T extends Interaction> extends Object implements PsiXmlParser<T>
Parser for PSI-XML Returns an Iterator of interactions. // Needs to parse each entry. Between each entry, clear the XmlEntryContext and resolve references // for each entry, read all experiments and interactors and stop when reading interactions- Since:
14/10/13
- Version:
- $Id$
- Author:
- Marine Dumousseau (marine@ebi.ac.uk)
-
-
Constructor Summary
Constructors Constructor Description AbstractPsiXmlParser(File file)Constructor for AbstractPsiXmlParser.AbstractPsiXmlParser(InputStream inputStream)Constructor for AbstractPsiXmlParser.AbstractPsiXmlParser(Reader reader)Constructor for AbstractPsiXmlParser.AbstractPsiXmlParser(URL url)Constructor for AbstractPsiXmlParser.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()close.protected booleancontainsUnresolvedReferences(XmlEntryContext entryContext)containsUnresolvedReferences.protected abstract javax.xml.bind.UnmarshallercreateJAXBUnmarshaller()createJAXBUnmarshaller.protected PsiXmlParserExceptioncreatePsiXmlExceptionFrom(String message, Exception e)createPsiXmlExceptionFrom.protected StringgetCurrentElement()Getter for the fieldcurrentElement.XmlInteractorFactorygetInteractorFactory()Getter for the fieldinteractorFactory.PsiXmlParserListenergetListener()Getter for the fieldlistener.protected StringgetNextPsiXmlStartElement()getNextPsiXmlStartElement.protected XMLStreamReadergetStreamReader()Getter for the fieldstreamReader.PsiXmlVersiongetVersion()Getter for the fieldversion.booleanhasFinished()hasFinished.protected voidloadEntry(XmlEntryContext entryContext, T currentInteraction)Some interactions contains references and we want to load the remaining interactions until the end of the entryprotected voidparseAttributeList(XmlEntryContext entryContext)parseAttributeList.protected voidparseAvailabilityList(XmlEntryContext entryContext)parseAvailabilityList.protected voidparseExperimentList()parseExperimentList.protected TparseInteractionList(XmlEntryContext entryContext, T loadedInteraction)parseInteractionList.protected TparseInteractionTag(XmlEntryContext entryContext)The unmarshaller must be able to return the expected interaction typeprotected voidparseInteractorList()parseInteractorList.TparseNextInteraction()parseNextInteraction.protected TparseNextPreLoadedInteraction()parseNextPreLoadedInteraction.protected voidparseSource(XmlEntryContext entryContext)parseSource.protected voidprocessAvailabilityList(XmlEntryContext entryContext)processAvailabilityList.protected TprocessEntry(XmlEntryContext entryContext)Creates a new Entry, parses the entry and return the next available interactionprotected TprocessEntryAndLoadNextInteraction(XmlEntryContext entryContext, Location startEntry)Process an entry that is opened (source, experimentList, etc) and read the first interactionprotected voidprocessUnexpectedNode()processUnexpectedNode.voidreInit()reInit.voidsetCacheOfObjects(PsiXmlIdCache indexOfObjects)setCacheOfObjects.protected voidsetCurrentElement(String currentElement)Setter for the fieldcurrentElement.voidsetInteractorFactory(XmlInteractorFactory interactorFactory)setInteractorFactory.voidsetListener(PsiXmlParserListener listener)setListener.protected voidskipNextElement()skipNextElement.protected TunmarshallInteraction()unmarshallInteraction.
-
-
-
Constructor Detail
-
AbstractPsiXmlParser
public AbstractPsiXmlParser(File file)
Constructor for AbstractPsiXmlParser.
- Parameters:
file- aFileobject.
-
AbstractPsiXmlParser
public AbstractPsiXmlParser(InputStream inputStream)
Constructor for AbstractPsiXmlParser.
- Parameters:
inputStream- aInputStreamobject.
-
AbstractPsiXmlParser
public AbstractPsiXmlParser(URL url)
Constructor for AbstractPsiXmlParser.
- Parameters:
url- aURLobject.
-
-
Method Detail
-
parseNextInteraction
public T parseNextInteraction() throws PsiXmlParserException
parseNextInteraction.
- Specified by:
parseNextInteractionin interfacePsiXmlParser<T extends Interaction>- Returns:
- a T object.
- Throws:
PsiXmlParserException- if any.
-
close
public void close() throws MIIOExceptionclose.
- Specified by:
closein interfacePsiXmlParser<T extends Interaction>- Throws:
MIIOException- if any.
-
hasFinished
public boolean hasFinished() throws PsiXmlParserExceptionhasFinished.
- Specified by:
hasFinishedin interfacePsiXmlParser<T extends Interaction>- Returns:
- a boolean.
- Throws:
PsiXmlParserException- if any.
-
reInit
public void reInit() throws MIIOExceptionreInit.
- Specified by:
reInitin interfacePsiXmlParser<T extends Interaction>- Throws:
MIIOException- if any.
-
getListener
public PsiXmlParserListener getListener()
Getter for the field
listener.- Specified by:
getListenerin interfacePsiXmlParser<T extends Interaction>- Returns:
- a
PsiXmlParserListenerobject.
-
setListener
public void setListener(PsiXmlParserListener listener)
setListener.
- Specified by:
setListenerin interfacePsiXmlParser<T extends Interaction>- Parameters:
listener- aPsiXmlParserListenerobject.
-
setCacheOfObjects
public void setCacheOfObjects(PsiXmlIdCache indexOfObjects)
setCacheOfObjects.
- Specified by:
setCacheOfObjectsin interfacePsiXmlParser<T extends Interaction>- Parameters:
indexOfObjects- aPsiXmlIdCacheobject.
-
getInteractorFactory
public XmlInteractorFactory getInteractorFactory()
Getter for the field
interactorFactory.- Specified by:
getInteractorFactoryin interfacePsiXmlParser<T extends Interaction>- Returns:
- a
XmlInteractorFactoryobject.
-
setInteractorFactory
public void setInteractorFactory(XmlInteractorFactory interactorFactory)
setInteractorFactory.
- Specified by:
setInteractorFactoryin interfacePsiXmlParser<T extends Interaction>- Parameters:
interactorFactory- aXmlInteractorFactoryobject.
-
getNextPsiXmlStartElement
protected String getNextPsiXmlStartElement() throws PsiXmlParserException
getNextPsiXmlStartElement.
- Returns:
- a
Stringobject. - Throws:
PsiXmlParserException- if any.
-
createPsiXmlExceptionFrom
protected PsiXmlParserException createPsiXmlExceptionFrom(String message, Exception e)
createPsiXmlExceptionFrom.
- Parameters:
message- aStringobject.e- aExceptionobject.- Returns:
- a
PsiXmlParserExceptionobject.
-
createJAXBUnmarshaller
protected abstract javax.xml.bind.Unmarshaller createJAXBUnmarshaller() throws javax.xml.bind.JAXBExceptioncreateJAXBUnmarshaller.
- Returns:
- the unmarshaller with the class context
- Throws:
javax.xml.bind.JAXBException- if any.
-
processEntryAndLoadNextInteraction
protected T processEntryAndLoadNextInteraction(XmlEntryContext entryContext, Location startEntry) throws PsiXmlParserException
Process an entry that is opened (source, experimentList, etc) and read the first interaction- Parameters:
entryContext- aXmlEntryContextobject.startEntry- aLocationobject.- Returns:
- a T object.
- Throws:
PsiXmlParserException- if any.
-
parseAttributeList
protected void parseAttributeList(XmlEntryContext entryContext) throws PsiXmlParserException
parseAttributeList.
- Parameters:
entryContext- aXmlEntryContextobject.- Throws:
PsiXmlParserException- if any.
-
parseInteractionList
protected T parseInteractionList(XmlEntryContext entryContext, T loadedInteraction) throws PsiXmlParserException
parseInteractionList.
- Parameters:
entryContext- aXmlEntryContextobject.loadedInteraction- a T object.- Returns:
- a T object.
- Throws:
PsiXmlParserException- if any.
-
parseInteractorList
protected void parseInteractorList() throws PsiXmlParserExceptionparseInteractorList.
- Throws:
PsiXmlParserException- if any.
-
parseExperimentList
protected void parseExperimentList() throws PsiXmlParserExceptionparseExperimentList.
- Throws:
PsiXmlParserException- if any.
-
parseAvailabilityList
protected void parseAvailabilityList(XmlEntryContext entryContext) throws PsiXmlParserException
parseAvailabilityList.
- Parameters:
entryContext- aXmlEntryContextobject.- Throws:
PsiXmlParserException- if any.
-
parseSource
protected void parseSource(XmlEntryContext entryContext) throws PsiXmlParserException
parseSource.
- Parameters:
entryContext- aXmlEntryContextobject.- Throws:
PsiXmlParserException- if any.
-
processEntry
protected T processEntry(XmlEntryContext entryContext) throws PsiXmlParserException
Creates a new Entry, parses the entry and return the next available interaction- Parameters:
entryContext- aXmlEntryContextobject.- Returns:
- a T object.
- Throws:
PsiXmlParserException- if any.
-
loadEntry
protected void loadEntry(XmlEntryContext entryContext, T currentInteraction) throws PsiXmlParserException
Some interactions contains references and we want to load the remaining interactions until the end of the entry- Parameters:
entryContext- aXmlEntryContextobject.currentInteraction- a T object.- Throws:
PsiXmlParserException- if any.
-
parseNextPreLoadedInteraction
protected T parseNextPreLoadedInteraction() throws PsiXmlParserException
parseNextPreLoadedInteraction.
- Returns:
- the next interaction preloaded in the interactionIterator. Deletes the returned interaction
- Throws:
PsiXmlParserException- if any.
-
parseInteractionTag
protected T parseInteractionTag(XmlEntryContext entryContext) throws PsiXmlParserException
The unmarshaller must be able to return the expected interaction type- Parameters:
entryContext- aXmlEntryContextobject.- Returns:
- next interaction parsed in the interaction list. Will load the all entry if we have references to solve
- Throws:
PsiXmlParserException- if any.
-
containsUnresolvedReferences
protected boolean containsUnresolvedReferences(XmlEntryContext entryContext)
containsUnresolvedReferences.
- Parameters:
entryContext- aXmlEntryContextobject.- Returns:
- a boolean.
-
unmarshallInteraction
protected T unmarshallInteraction() throws javax.xml.bind.JAXBException
unmarshallInteraction.
- Returns:
- a T object.
- Throws:
javax.xml.bind.JAXBException- if any.
-
processAvailabilityList
protected void processAvailabilityList(XmlEntryContext entryContext) throws PsiXmlParserException
processAvailabilityList.
- Parameters:
entryContext- aXmlEntryContextobject.- Throws:
PsiXmlParserException- if any.
-
getStreamReader
protected XMLStreamReader getStreamReader()
Getter for the field
streamReader.- Returns:
- a
XMLStreamReaderobject.
-
getCurrentElement
protected String getCurrentElement()
Getter for the field
currentElement.- Returns:
- a
Stringobject.
-
setCurrentElement
protected void setCurrentElement(String currentElement)
Setter for the field
currentElement.- Parameters:
currentElement- aStringobject.
-
skipNextElement
protected void skipNextElement() throws PsiXmlParserExceptionskipNextElement.
- Throws:
PsiXmlParserException- if any.
-
processUnexpectedNode
protected void processUnexpectedNode() throws PsiXmlParserExceptionprocessUnexpectedNode.
- Throws:
PsiXmlParserException- if any.
-
getVersion
public PsiXmlVersion getVersion()
Getter for the field
version.- Specified by:
getVersionin interfacePsiXmlParser<T extends Interaction>- Returns:
- a
PsiXmlVersionobject.
-
-