Class AbstractPsiXmlStream<T extends Interaction>
- java.lang.Object
-
- psidev.psi.mi.jami.xml.model.extension.datasource.AbstractPsiXmlStream<T>
-
- All Implemented Interfaces:
ErrorHandler,InteractionStream<T>,MIDataSource,MIFileDataSource,MIFileParserListener,PsiXmlParserListener,PsiXmlStreamSource<T>
- Direct Known Subclasses:
AbstractPsiXmlBinaryStream,AbstractPsiXmlSource,LightXmlStreamSource,XmlComplexStreamSource,XmlEvidenceStreamSource,XmlModelledStreamSource,XmlStreamSource
public abstract class AbstractPsiXmlStream<T extends Interaction> extends Object implements PsiXmlStreamSource<T>
Abstract class for psiXml data source- Since:
16/10/13
- Version:
- $Id$
- Author:
- Marine Dumousseau (marine@ebi.ac.uk)
-
-
Field Summary
Fields Modifier and Type Field Description static StringSCHEMA_FEATUREConstantSCHEMA_FEATURE="http://apache.org/xml/features/validati"{trunked}static StringVALIDATION_FEATUREConstantVALIDATION_FEATURE="http://xml.org/sax/features/validation"-
Fields inherited from interface psidev.psi.mi.jami.datasource.MIFileDataSource
FILE_URI_PREFIX, URL_PREFIX_REGEXP
-
-
Constructor Summary
Constructors Constructor Description AbstractPsiXmlStream()Constructor for AbstractPsiXmlStream.AbstractPsiXmlStream(File file)Constructor for AbstractPsiXmlStream.AbstractPsiXmlStream(InputStream input)Constructor for AbstractPsiXmlStream.AbstractPsiXmlStream(Reader reader)Constructor for AbstractPsiXmlStream.AbstractPsiXmlStream(URL url)Constructor for AbstractPsiXmlStream.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()This method close the file data source and all opened streams and readersprotected abstract Iterator<T>createXmlIterator()createXmlIterator.voiderror(SAXParseException exception)voidfatalError(SAXParseException exception)protected PsiXmlIdCachegetElementCache()Getter for the fieldelementCache.MIFileParserListenergetFileParserListener()The MIFileParserListener can be null if not initialisedIterator<T>getInteractionsIterator()The iterator of Interactions for this datasourceXmlInteractorFactorygetInteractorFactory()Getter for the fieldinteractorFactory.protected PsiXmlParser<T>getParser()Getter for the fieldparser.voidinitialiseContext(Map<String,Object> options)Initialise the context of the MIDataSource given a map of optionsprotected abstract voidinitialiseExpansionMethod(ComplexExpansionMethod<? extends Interaction,? extends BinaryInteraction> expansionMethod)initialiseExpansionMethod.protected abstract voidinitialiseXmlParser(File file)initialiseXmlParser.protected abstract voidinitialiseXmlParser(InputStream input)initialiseXmlParser.protected abstract voidinitialiseXmlParser(Reader reader)initialiseXmlParser.protected abstract voidinitialiseXmlParser(URL url)initialiseXmlParser.protected booleanisInitialised()isInitialised.voidonAliasWithoutName(FileSourceContext context)Listen to an event fired when an alias does not have a namevoidonAnnotationWithoutTopic(FileSourceContext context)Listen to an event fired when an annotation does not have a topicvoidonInteractionWithoutParticipants(Interaction interaction, FileSourceContext context)Listen to an event fired when an interaction is read and does not have any participants.voidonInvalidOrganismTaxid(String taxid, FileSourceContext context)Listen to an event fired when an organism does not have a valid taxid (positive integer or -1, -2, -3, -4, -5)voidonInvalidPosition(String message, FileSourceContext context)Listen to an event fired when a position is not validvoidonInvalidRange(String message, FileSourceContext context)Listen to an event fired when a range is not validvoidonInvalidStoichiometry(String message, FileSourceContext context)Listen to an event fired when a stoichiometry is not validvoidonInvalidSyntax(FileSourceContext context, Exception e)Listen to an invalid syntax causing an ExceptionvoidonMissingChecksumMethod(FileSourceContext context)Listen to an event fired when a checksum does not have a methodvoidonMissingChecksumValue(FileSourceContext context)Listen to an event fired when a checksum does not have a valuevoidonMissingConfidenceType(FileSourceContext context)Listen to an event fired when a confidence does not have a confidence typevoidonMissingConfidenceValue(FileSourceContext context)Listen to an event fired when a confidence does not have a valuevoidonMissingCvTermName(CvTerm term, FileSourceContext context, String message)Listen to an event fired when a CvTerm is read and does not have any names.voidonMissingInteractorName(Interactor interactor, FileSourceContext context)Listen to an event fired when an interactor is read and does not have any names.voidonMissingParameterType(FileSourceContext context)Listen to an event fired when a parameter does not have a typevoidonMissingParameterValue(FileSourceContext context)Listen to an event fired when a parameter does not have a valuevoidonParticipantWithoutInteractor(Participant participant, FileSourceContext context)Listen to en event fired when a Participant is read and no interactor details has been provided.voidonSeveralExperimentalRolesFound(Collection<CvTerm> roles, FileSourceLocator locator)onSeveralExperimentalRolesFound.voidonSeveralExperimentsFound(Collection<Experiment> experiments, FileSourceLocator locator)onSeveralExperimentsFound.voidonSeveralExpressedInOrganismFound(Collection<Organism> organisms, FileSourceLocator locator)onSeveralExpressedInOrganismFound.voidonSeveralHostOrganismFound(Collection<Organism> organisms, FileSourceLocator locator)onSeveralHostOrganismFound.voidonSyntaxWarning(FileSourceContext context, String message)Listen to an event fired when the syntax of the file is valid but the content is not expected or some information may be lost.voidonUnresolvedReference(XmlIdReference ref, String message)onUnresolvedReference.voidonXrefWithoutDatabase(FileSourceContext context)Listen to an event fired when a xref does not have a databasevoidonXrefWithoutId(FileSourceContext context)Listen to an event fired when a xref does not have an idprotected voidreInit()reInit.voidreset()This method will reset the data sources from all loaded options.voidsetFileParserListener(MIFileParserListener listener)setFileParserListenervoidsetInteractorFactory(XmlInteractorFactory interactorFactory)Setter for the fieldinteractorFactory.protected voidsetMIFileParserListener(MIFileParserListener listener)setMIFileParserListener.protected voidsetParser(PsiXmlParser<T> parser)Setter for the fieldparser.protected voidsetXmlFileParserListener(PsiXmlParserListener listener)setXmlFileParserListener.booleanvalidateSyntax()Validate the syntax of this MIFileDataSource.booleanvalidateSyntax(MIFileParserListener listener)Validate the syntax of this MIFileDataSource and uses the provided MIFileParserListener to listen to the events.voidwarning(SAXParseException exception)
-
-
-
Field Detail
-
VALIDATION_FEATURE
public static final String VALIDATION_FEATURE
ConstantVALIDATION_FEATURE="http://xml.org/sax/features/validation"- See Also:
- Constant Field Values
-
SCHEMA_FEATURE
public static final String SCHEMA_FEATURE
ConstantSCHEMA_FEATURE="http://apache.org/xml/features/validati"{trunked}- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractPsiXmlStream
public AbstractPsiXmlStream()
Constructor for AbstractPsiXmlStream.
-
AbstractPsiXmlStream
public AbstractPsiXmlStream(File file)
Constructor for AbstractPsiXmlStream.
- Parameters:
file- aFileobject.
-
AbstractPsiXmlStream
public AbstractPsiXmlStream(InputStream input)
Constructor for AbstractPsiXmlStream.
- Parameters:
input- aInputStreamobject.
-
AbstractPsiXmlStream
public AbstractPsiXmlStream(Reader reader)
Constructor for AbstractPsiXmlStream.
- Parameters:
reader- aReaderobject.
-
-
Method Detail
-
getInteractionsIterator
public Iterator<T> getInteractionsIterator() throws MIIOException
The iterator of Interactions for this datasource- Specified by:
getInteractionsIteratorin interfaceInteractionStream<T extends Interaction>- Returns:
- iterator of Interactions for this datasource
- Throws:
MIIOException- exception thrown when it cannot iterate MI data
-
getFileParserListener
public MIFileParserListener getFileParserListener()
The MIFileParserListener can be null if not initialised- Specified by:
getFileParserListenerin interfaceMIFileDataSource- Returns:
- the file parser listener that listen to the different parsing events
-
setFileParserListener
public void setFileParserListener(MIFileParserListener listener)
setFileParserListener
- Specified by:
setFileParserListenerin interfaceMIFileDataSource- Parameters:
listener- aMIFileParserListenerobject.
-
validateSyntax
public boolean validateSyntax() throws MIIOExceptionValidate the syntax of this MIFileDataSource. It returns true if the file syntax is valid, false otherwise. When the file syntax is invalid, the syntax errors are fired and should be retrieved using a proper MIFileParserListener- Specified by:
validateSyntaxin interfaceMIFileDataSource- Returns:
- a boolean.
- Throws:
MIIOException- if any.
-
validateSyntax
public boolean validateSyntax(MIFileParserListener listener) throws MIIOException
Validate the syntax of this MIFileDataSource and uses the provided MIFileParserListener to listen to the events. The provided listener will be set as the MIFileParserListener of this datasource- Specified by:
validateSyntaxin interfaceMIFileDataSource- Parameters:
listener- : the listener for parsing events- Returns:
- true if the file syntax is valid
- Throws:
MIIOException- : if some severe syntax errors are found in the file and it stops the parsing
-
getInteractorFactory
public XmlInteractorFactory getInteractorFactory()
Getter for the field
interactorFactory.- Returns:
- a
XmlInteractorFactoryobject.
-
setInteractorFactory
public void setInteractorFactory(XmlInteractorFactory interactorFactory)
Setter for the field
interactorFactory.- Parameters:
interactorFactory- aXmlInteractorFactoryobject.
-
initialiseContext
public void initialiseContext(Map<String,Object> options)
Initialise the context of the MIDataSource given a map of options- Specified by:
initialiseContextin interfaceMIDataSource- Parameters:
options- : the options provided by the user
-
close
public void close() throws MIIOExceptionThis method close the file data source and all opened streams and readers- Specified by:
closein interfaceMIDataSource- Throws:
MIIOException- if the dataSource cannot be closed
-
reset
public void reset() throws MIIOExceptionThis method will reset the data sources from all loaded options. The data source will be back to what is was before the initialiseContext was called. To re-use the data source after calling the reset() method, the data source needs to be re-initialised with initialiseContext. Any provided inputStream or reader will not be closed and will have to be closed separately.- Specified by:
resetin interfaceMIDataSource- Throws:
MIIOException- if the dataSource cannot be reset
-
onUnresolvedReference
public void onUnresolvedReference(XmlIdReference ref, String message)
onUnresolvedReference.
- Specified by:
onUnresolvedReferencein interfacePsiXmlParserListener- Parameters:
ref- aXmlIdReferenceobject.message- aStringobject.
-
onSeveralHostOrganismFound
public void onSeveralHostOrganismFound(Collection<Organism> organisms, FileSourceLocator locator)
onSeveralHostOrganismFound.
- Specified by:
onSeveralHostOrganismFoundin interfacePsiXmlParserListener- Parameters:
organisms- aCollectionobject.locator- aFileSourceLocatorobject.
-
onSeveralExpressedInOrganismFound
public void onSeveralExpressedInOrganismFound(Collection<Organism> organisms, FileSourceLocator locator)
onSeveralExpressedInOrganismFound.
- Specified by:
onSeveralExpressedInOrganismFoundin interfacePsiXmlParserListener- Parameters:
organisms- aCollectionobject.locator- aFileSourceLocatorobject.
-
onSeveralExperimentalRolesFound
public void onSeveralExperimentalRolesFound(Collection<CvTerm> roles, FileSourceLocator locator)
onSeveralExperimentalRolesFound.
- Specified by:
onSeveralExperimentalRolesFoundin interfacePsiXmlParserListener- Parameters:
roles- aCollectionobject.locator- aFileSourceLocatorobject.
-
onSeveralExperimentsFound
public void onSeveralExperimentsFound(Collection<Experiment> experiments, FileSourceLocator locator)
onSeveralExperimentsFound.
- Specified by:
onSeveralExperimentsFoundin interfacePsiXmlParserListener- Parameters:
experiments- aCollectionobject.locator- aFileSourceLocatorobject.
-
onInvalidSyntax
public void onInvalidSyntax(FileSourceContext context, Exception e)
Listen to an invalid syntax causing an Exception- Specified by:
onInvalidSyntaxin interfaceMIFileParserListener- Parameters:
context- : file contexte- aExceptionobject.
-
onSyntaxWarning
public void onSyntaxWarning(FileSourceContext context, String message)
Listen to an event fired when the syntax of the file is valid but the content is not expected or some information may be lost.- Specified by:
onSyntaxWarningin interfaceMIFileParserListener- Parameters:
context- : file contextmessage- : warning message
-
onMissingCvTermName
public void onMissingCvTermName(CvTerm term, FileSourceContext context, String message)
Listen to an event fired when a CvTerm is read and does not have any names. At least a shortname is expected for each CvTerm so such a term may be loaded with an automatically generated shortname.- Specified by:
onMissingCvTermNamein interfaceMIFileParserListener- Parameters:
term- : cv without namecontext- : file contextmessage- : error message
-
onMissingInteractorName
public void onMissingInteractorName(Interactor interactor, FileSourceContext context)
Listen to an event fired when an interactor is read and does not have any names. At least a shortname is expected for each interactor so such an interactor may be loaded with an automatically generated shortname.- Specified by:
onMissingInteractorNamein interfaceMIFileParserListener- Parameters:
interactor- : interactor without namecontext- : file context
-
onParticipantWithoutInteractor
public void onParticipantWithoutInteractor(Participant participant, FileSourceContext context)
Listen to en event fired when a Participant is read and no interactor details has been provided. In such a case, the interactor can be automatically generated as an unknown interactor- Specified by:
onParticipantWithoutInteractorin interfaceMIFileParserListener- Parameters:
participant- : participant without interactorcontext- : file context
-
onInteractionWithoutParticipants
public void onInteractionWithoutParticipants(Interaction interaction, FileSourceContext context)
Listen to an event fired when an interaction is read and does not have any participants. The interaction may be loaded as an empty interaction.- Specified by:
onInteractionWithoutParticipantsin interfaceMIFileParserListener- Parameters:
interaction- : interaction without participantscontext- : file context
-
warning
public void warning(SAXParseException exception) throws SAXException
- Specified by:
warningin interfaceErrorHandler- Throws:
SAXException
-
error
public void error(SAXParseException exception) throws SAXException
- Specified by:
errorin interfaceErrorHandler- Throws:
SAXException
-
fatalError
public void fatalError(SAXParseException exception) throws SAXException
- Specified by:
fatalErrorin interfaceErrorHandler- Throws:
SAXException
-
onInvalidOrganismTaxid
public void onInvalidOrganismTaxid(String taxid, FileSourceContext context)
Listen to an event fired when an organism does not have a valid taxid (positive integer or -1, -2, -3, -4, -5)- Specified by:
onInvalidOrganismTaxidin interfaceMIFileParserListener- Parameters:
taxid- : invalid taxidcontext- : file context
-
onMissingParameterValue
public void onMissingParameterValue(FileSourceContext context)
Listen to an event fired when a parameter does not have a value- Specified by:
onMissingParameterValuein interfaceMIFileParserListener- Parameters:
context- : file context
-
onMissingParameterType
public void onMissingParameterType(FileSourceContext context)
Listen to an event fired when a parameter does not have a type- Specified by:
onMissingParameterTypein interfaceMIFileParserListener- Parameters:
context- : file context
-
onMissingConfidenceValue
public void onMissingConfidenceValue(FileSourceContext context)
Listen to an event fired when a confidence does not have a value- Specified by:
onMissingConfidenceValuein interfaceMIFileParserListener- Parameters:
context- : file context
-
onMissingConfidenceType
public void onMissingConfidenceType(FileSourceContext context)
Listen to an event fired when a confidence does not have a confidence type- Specified by:
onMissingConfidenceTypein interfaceMIFileParserListener- Parameters:
context- : file context
-
onMissingChecksumValue
public void onMissingChecksumValue(FileSourceContext context)
Listen to an event fired when a checksum does not have a value- Specified by:
onMissingChecksumValuein interfaceMIFileParserListener- Parameters:
context- : file context
-
onMissingChecksumMethod
public void onMissingChecksumMethod(FileSourceContext context)
Listen to an event fired when a checksum does not have a method- Specified by:
onMissingChecksumMethodin interfaceMIFileParserListener- Parameters:
context- : file context
-
onInvalidPosition
public void onInvalidPosition(String message, FileSourceContext context)
Listen to an event fired when a position is not valid- Specified by:
onInvalidPositionin interfaceMIFileParserListener- Parameters:
message- : error messagecontext- : file context
-
onInvalidRange
public void onInvalidRange(String message, FileSourceContext context)
Listen to an event fired when a range is not valid- Specified by:
onInvalidRangein interfaceMIFileParserListener- Parameters:
message- : error messagecontext- : file context
-
onInvalidStoichiometry
public void onInvalidStoichiometry(String message, FileSourceContext context)
Listen to an event fired when a stoichiometry is not valid- Specified by:
onInvalidStoichiometryin interfaceMIFileParserListener- Parameters:
message- : : error messagecontext- : file context
-
onXrefWithoutDatabase
public void onXrefWithoutDatabase(FileSourceContext context)
Listen to an event fired when a xref does not have a database- Specified by:
onXrefWithoutDatabasein interfaceMIFileParserListener- Parameters:
context- : file context
-
onXrefWithoutId
public void onXrefWithoutId(FileSourceContext context)
Listen to an event fired when a xref does not have an id- Specified by:
onXrefWithoutIdin interfaceMIFileParserListener- Parameters:
context- : file context
-
onAnnotationWithoutTopic
public void onAnnotationWithoutTopic(FileSourceContext context)
Listen to an event fired when an annotation does not have a topic- Specified by:
onAnnotationWithoutTopicin interfaceMIFileParserListener- Parameters:
context- : file context
-
onAliasWithoutName
public void onAliasWithoutName(FileSourceContext context)
Listen to an event fired when an alias does not have a name- Specified by:
onAliasWithoutNamein interfaceMIFileParserListener- Parameters:
context- : file context
-
initialiseXmlParser
protected abstract void initialiseXmlParser(Reader reader)
initialiseXmlParser.
- Parameters:
reader- aReaderobject.
-
initialiseXmlParser
protected abstract void initialiseXmlParser(File file)
initialiseXmlParser.
- Parameters:
file- aFileobject.
-
initialiseXmlParser
protected abstract void initialiseXmlParser(InputStream input)
initialiseXmlParser.
- Parameters:
input- aInputStreamobject.
-
initialiseXmlParser
protected abstract void initialiseXmlParser(URL url)
initialiseXmlParser.
- Parameters:
url- aURLobject.
-
setXmlFileParserListener
protected void setXmlFileParserListener(PsiXmlParserListener listener)
setXmlFileParserListener.
- Parameters:
listener- aPsiXmlParserListenerobject.
-
setMIFileParserListener
protected void setMIFileParserListener(MIFileParserListener listener)
setMIFileParserListener.
- Parameters:
listener- aMIFileParserListenerobject.
-
reInit
protected void reInit() throws MIIOExceptionreInit.
- Throws:
MIIOException- if any.
-
initialiseExpansionMethod
protected abstract void initialiseExpansionMethod(ComplexExpansionMethod<? extends Interaction,? extends BinaryInteraction> expansionMethod)
initialiseExpansionMethod.
- Parameters:
expansionMethod- aComplexExpansionMethodobject.
-
createXmlIterator
protected abstract Iterator<T> createXmlIterator()
createXmlIterator.
- Returns:
- a
Iteratorobject.
-
getParser
protected PsiXmlParser<T> getParser()
Getter for the field
parser.- Returns:
- a
PsiXmlParserobject.
-
setParser
protected void setParser(PsiXmlParser<T> parser)
Setter for the field
parser.- Parameters:
parser- aPsiXmlParserobject.
-
isInitialised
protected boolean isInitialised()
isInitialised.
- Returns:
- a boolean.
-
getElementCache
protected PsiXmlIdCache getElementCache()
Getter for the field
elementCache.- Returns:
- a
PsiXmlIdCacheobject.
-
-