View Javadoc

    1   /**
    2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
    3    */
    4   package net.sourceforge.pmd.util.datasource;
    5
    6   import java.io.IOException;
    7   import java.io.InputStream;
    8
    9   /**
    10   * Represents a source file to be analyzed.
    11   * Different implementations can get the source file
    12   * from different places: the filesystem, a zip or jar file, etc.
    13   */
    14  public interface DataSource {
    15      /**
    16       * Get an InputStream on the source file.
    17       *
    18       * @return the InputStream reading the source file
    19       * @throws IOException if the file can't be opened
    20       */
    21      InputStream getInputStream() throws IOException;
    22
    23      /**
    24       * Return a nice version of the filename.
    25       *
    26       * @param shortNames    true if short names are being used
    27       * @param inputFileName name of a "master" file this file is relative to
    28       * @return String
    29       */
    30      String getNiceFileName(boolean shortNames, String inputFileName);
    31  }