Class AbstractSingleIncludeSourceProvider

  • All Implemented Interfaces:
    SourceProvider
    Direct Known Subclasses:
    SingleIncludeNonRelativeSourceProvider

    public abstract class AbstractSingleIncludeSourceProvider
    extends AbstractSourceProvider
    An abstract class to be extended by the source provider implementations that do not want to include one source more than once.

    The implementations should not override the methods get() but should implement the abstract methods getSource(). The method getSource() is invoked only when it is ensured that the source was not yet included.

    Author:
    Peter Verhas
    • Constructor Detail

      • AbstractSingleIncludeSourceProvider

        public AbstractSingleIncludeSourceProvider()
    • Method Detail

      • get

        public final SourceReader get​(java.lang.String sourceName)
                               throws java.io.IOException
        Description copied from interface: SourceProvider
        Get a reader to a source when there is no referencing source. This is the main source.
        Specified by:
        get in interface SourceProvider
        Specified by:
        get in class AbstractSourceProvider
        Parameters:
        sourceName - the name of the source
        Returns:
        reader reading the source file.
        Throws:
        java.io.IOException - in case of exception
      • get

        public final SourceReader get​(java.lang.String sourceName,
                                      java.lang.String referencingSource)
                               throws java.io.IOException
        Description copied from interface: SourceProvider
        Get a reader to a source specifying the source that references this source.
        Specified by:
        get in interface SourceProvider
        Specified by:
        get in class AbstractSourceProvider
        Parameters:
        sourceName - the name of the source to get the reader to.
        referencingSource - the name of the source that is referencing the source to read.
        Returns:
        return value
        Throws:
        java.io.IOException - in case of exception
      • getSource

        protected abstract SourceReader getSource​(java.lang.String sourceName)
                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getSource

        protected abstract SourceReader getSource​(java.lang.String sourceName,
                                                  java.lang.String referencingSource)
                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getKeyName

        protected abstract java.lang.String getKeyName​(java.lang.String sourceName)
      • getKeyName

        protected abstract java.lang.String getKeyName​(java.lang.String sourceName,
                                                       java.lang.String referencingSource)