Class TextEffigy

    • Constructor Detail

      • TextEffigy

        public TextEffigy​(Workspace workspace)
        Create a new effigy in the specified workspace with an empty string for its name.
        Parameters:
        workspace - The workspace for this effigy.
    • Method Detail

      • extensionToSyntaxStyle

        public static java.lang.String extensionToSyntaxStyle​(java.lang.String extension)
        Return the syntax style to use for files with the given extension.
        Parameters:
        extension - The file extension.
        Returns:
        A syntax style, or none if the extension is not recognized.
      • getDocument

        public javax.swing.text.Document getDocument()
        Return the document that this is an effigy of.
        Returns:
        The document, or null if none has been set.
        See Also:
        setDocument(Document)
      • getSyntaxStyle

        public java.lang.String getSyntaxStyle()
        Return the syntax style for the document, if one has been identified, and null otherwise.
        Returns:
        A syntax style or null.
      • newTextEffigy

        public static TextEffigy newTextEffigy​(CompositeEntity container,
                                               java.lang.String text)
                                        throws java.lang.Exception
        Create a new effigy in the given container containing the specified text. The new effigy will have a new instance of DefaultStyledDocument associated with it.
        Parameters:
        container - The container for the effigy.
        text - The text to insert in the effigy.
        Returns:
        A new instance of SyntaxTextEffigy.
        Throws:
        java.lang.Exception - If the text effigy cannot be contained by the specified container, or if the specified text cannot be inserted into the document.
      • newTextEffigy

        public static TextEffigy newTextEffigy​(CompositeEntity container,
                                               java.lang.String text,
                                               java.lang.String syntaxStyle)
                                        throws java.lang.Exception
        Create a new effigy in the given container containing the specified text. The new effigy will have a new instance of DefaultStyledDocument associated with it.
        Parameters:
        container - The container for the effigy.
        text - The text to insert in the effigy.
        syntaxStyle - The style of the text, for highlighting. This can be one of the styles defined in org.fife.ui.rsyntaxtextarea.SyntaxConstants, if that is installed, or null or an empty string for plain text. If the style is not recognized, then plain text will be assumed.
        Returns:
        A new instance of SyntaxTextEffigy.
        Throws:
        java.lang.Exception - If the text effigy cannot be contained by the specified container, or if the specified text cannot be inserted into the document.
      • newTextEffigy

        public static TextEffigy newTextEffigy​(CompositeEntity container,
                                               java.net.URL base,
                                               java.net.URL in)
                                        throws java.lang.Exception
        Create a new effigy in the given container by reading the specified URL. If the specified URL is null, then create a blank effigy. If the extension of the URL is one of several extensions used by binary formats, the file is not opened and this returns null. The new effigy will have a new instance of DefaultStyledDocument associated with it.
        Parameters:
        container - The container for the effigy.
        base - The base for relative file references, or null if there are no relative file references. This is ignored in this class.
        in - The input URL, or null if there is none.
        Returns:
        A new instance of SyntaxTextEffigy.
        Throws:
        java.lang.Exception - If the URL cannot be read, or if the data is malformed in some way.
      • setDocument

        public void setDocument​(javax.swing.text.Document document)
        Set the document that this is an effigy of.
        Parameters:
        document - The document
        See Also:
        getDocument()
      • setModified

        public void setModified​(boolean modified)
        Description copied from class: Effigy
        Record whether the data associated with this effigy has been modified since it was first read or last saved. If you call this with a true argument, then subsequent calls to isModified() will return true. This is used by instances of TableauFrame. This is recorded in the entity returned by topEntity(), which is the one associated with a file. This always sets a flag in the master effigy (as returned by masterEffigy()).
        Overrides:
        setModified in class Effigy
        Parameters:
        modified - True if the data has been modified.
        See Also:
        Effigy.masterEffigy(), Effigy.isModifiable(), Effigy.isModified(), Effigy.setModifiable(boolean)
      • writeFile

        public void writeFile​(java.io.File file)
                       throws java.io.IOException
        Write the text of the document to the specified file.
        Overrides:
        writeFile in class Effigy
        Parameters:
        file - The file to write to.
        Throws:
        java.io.IOException - If the write fails.
      • _createDocument

        protected static javax.swing.text.Document _createDocument​(java.lang.String syntaxStyle)
        Create a syntax document, if possible, and otherwise a plain document.
        Parameters:
        syntaxStyle - The syntax style.
        Returns:
        A new document.