Class StreamSource

java.lang.Object
org.netbeans.api.diff.StreamSource

public abstract class StreamSource extends Object
This class provides streams and information about them to be used by diff and merge services.
  • Constructor Details

    • StreamSource

      public StreamSource()
  • Method Details

    • getName

      public abstract String getName()
      Get the name of the source.
    • getTitle

      public abstract String getTitle()
      Get the title of the source.
    • getMIMEType

      public abstract String getMIMEType()
      Get the MIME type of the source.
    • isEditable

      public boolean isEditable()
      Hint for a diff visualizer about editability of this source. The source will only be made editable if it provides some editable entity in its lookup (eg. FileObject) and this method returns true and the diff visualizer supports it.
      Returns:
      true if this source can be editable in the diff visualizer, false otherwise
      Since:
      1.17
    • getLookup

      public org.openide.util.Lookup getLookup()
      Source lookup that may define the content of this source. In case the lookup does not provide anything usable, createReader() is used instead. Diff engines can process these inputs:
      • instance of FileObject - in this case, the content of the source is defined by calling DataObject.find(fileObject).openDocument(). If the source is editable then it is saved back via SaveCookie.save() when the Diff component closes.
      • instance of Document - in this case, the content of the source is defined by this Document and the source will NOT be editable.
      For compatibility purposes, it is still adviced to fully implement createReader() as older Diff providers may not use this method of obtaining the source.
      Returns:
      an instance of Lookup
      Since:
      1.17
    • createReader

      public abstract Reader createReader() throws IOException
      Create a reader, that reads the source.
      Throws:
      IOException
    • createWriter

      public abstract Writer createWriter(Difference[] conflicts) throws IOException
      Create a writer, that writes to the source.
      Parameters:
      conflicts - The list of conflicts remaining in the source. Can be null if there are no conflicts.
      Returns:
      The writer or null, when no writer can be created.
      Throws:
      IOException
    • close

      public void close()
      Close the stream source. This method, is called when this object will never be asked for the streams any more and thus can release it's resources in this method.
    • createSource

      public static StreamSource createSource(String name, String title, String MIMEType, Reader r)
      Create the default implementation of StreamSource, that has just reader and no writer.
    • createSource

      public static StreamSource createSource(String name, String title, String MIMEType, File file)
      Create the default implementation of StreamSource, that has just reader and writer from/to a file.