Class Util


  • public class Util
    extends java.lang.Object
    Utility methods for application SimplyHTML.
    • Constructor Summary

      Constructors 
      Constructor Description
      Util()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addGridBagComponent​(javax.swing.JComponent container, javax.swing.JComponent comp, java.awt.GridBagLayout g, java.awt.GridBagConstraints c, int gx, int gy, int a)
      convenience method for adding a component to a container layed out by a GridBagLayout
      static void addGridBagComponent​(javax.swing.JComponent container, javax.swing.JComponent comp, java.awt.GridBagLayout g, java.awt.GridBagConstraints c, int gx, int gy, int a, int gw, int gh)
      convenience method for adding a component to a container layed out by a GridBagLayout
      static void addGridBagComponent​(javax.swing.JComponent container, javax.swing.JComponent comp, java.awt.GridBagLayout g, java.awt.GridBagConstraints c, int gx, int gy, int a, int gw, int gh, int f)
      convenience method for adding a component to a container layed out by a GridBagLayout
      static void addGridBagComponent​(javax.swing.JComponent container, javax.swing.JComponent comp, java.awt.GridBagLayout g, java.awt.GridBagConstraints c, int gx, int gy, int a, int gw, int gh, int f, double wx, double wy)
      convenience method for adding a component to a container layed out by a GridBagLayout
      static void center​(java.awt.Component parent, java.awt.Component comp)
      center a Component relative to another Component.
      static void copyFile​(java.io.File srcFile, java.io.File destFile)
      copies a single file.
      static void deleteDir​(java.io.File dir)
      delete a directory with all its contents
      static void errMsg​(java.awt.Component owner, java.lang.String msg, java.lang.Throwable e)
      show an error message and print a stack trace to the console if in development mode (DEV_MODE = true)
      static javax.swing.text.Element findElementDown​(java.lang.String name, javax.swing.text.Element parent)
      find the first occurrence of an Element in the element tree below a given Element
      static javax.swing.text.Element findElementUp​(java.lang.String name1, java.lang.String name2, javax.swing.text.Element start)
      find the first occurrence of an Element in the element tree above a given Element
      static javax.swing.text.Element findElementUp​(java.lang.String name, javax.swing.text.Element start)
      find the first occurrence of an Element in the element tree above a given Element
      static java.lang.Object findLinkUp​(javax.swing.text.Element elem)
      find the next link attribute from a given element upwards through the element hierarchy
      static float getAbsoluteAttrVal​(java.lang.Object attr)
      get the absolute value of an attribute
      static float getAttrValue​(java.lang.Object attr)
      get the numerical value for an attribute object
      static java.lang.String getClassFilePath​(java.lang.Class cls)
      Get the path of the class file for a given class.
      static int getElementIndex​(javax.swing.text.Element elem)
      get the index of a given element in the list of its parents elements.
      static java.lang.String getLastAttrUnit()
      get the unit string from the last attribute object which was converted to a numerical value
      static java.lang.String getPreference​(java.lang.String key, java.lang.String defaultValue)  
      static float getPtValue​(java.lang.String valStr)
      quick hack for getting the point value from an attribute value string (needs to be refined and consolidated with length value)
      static java.lang.String getRelativePath​(java.io.File fromDir, java.io.File toFile)
      get the path to a given file relative to a given directory
      static java.lang.String getResourceString​(UIResources resources, java.lang.String nm)
      get a string from the resources file
      static java.lang.String getResourceString​(java.lang.String nm)  
      static int getRowIndex​(javax.swing.text.Element cell)
      get the row index for a given table cell
      static java.util.Vector getStyleNames​(javax.swing.text.html.StyleSheet styles)
      get the names of all styles found in a given StyleSheet
      static java.util.Vector getStyleNamesForTag​(javax.swing.text.AttributeSet styles, java.lang.String tag)
      get names of all styles for a given tag
      static java.util.Vector getStyleNamesForTag​(javax.swing.text.html.StyleSheet styles, java.lang.String tag)
      get names of all styles for a given tag
      static boolean msg​(int options, java.lang.String title, java.lang.String msg, java.lang.String item, java.lang.String sep)
      Show a message with options to choose from
      static int msgChoice​(int options, java.lang.String title, java.lang.String msg, java.lang.String item, java.lang.String sep)
      Show a message with options to choose from
      static void msgStart​(java.lang.String startMsg)
      write a message with a time stamp to System.out and remember the time stamp in a LIFO Vector
      static java.lang.String nameInput​(java.awt.Frame parent, java.lang.String initialName, java.lang.String regex, java.lang.String title, java.lang.String text)
      get a name by asking from the user
      static java.lang.String removeChar​(java.lang.String src, char c)
      remove all occurrences of a given char from a given string
      static java.lang.String removeExtension​(java.lang.String fileName)
      remove the extension from a file name
      static java.io.File renameFile​(java.io.File from, java.lang.String newExt)
      rename a file to have a given extension
      static javax.swing.text.AttributeSet resolveAttributes​(javax.swing.text.AttributeSet style)
      resolve sets of attributes that are recursively stored in each other
      static java.lang.String resolveRelativePath​(java.lang.String relPath, java.lang.String absPath)
      resolve a relative URL string against an absolute URL string.
      static javax.swing.text.html.StyleSheet styleSheet()
      get a StyleSheet object for using its utility methods
      static java.lang.String[] tokenize​(java.lang.String input, java.lang.String delim)
      Get an arry of strings from a given string having several entries delimited by blanks.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Util

        public Util()
    • Method Detail

      • renameFile

        public static java.io.File renameFile​(java.io.File from,
                                              java.lang.String newExt)
        rename a file to have a given extension
        Parameters:
        from - the file to rename
        newExt - the new extension the file shall have
        Returns:
        the renamed file
      • findLinkUp

        public static java.lang.Object findLinkUp​(javax.swing.text.Element elem)
        find the next link attribute from a given element upwards through the element hierarchy
        Parameters:
        elem - the element to start looking at
        Returns:
        the link attribute found, or null, if none was found
      • removeExtension

        public static java.lang.String removeExtension​(java.lang.String fileName)
        remove the extension from a file name
        Parameters:
        fileName - the file name to remove the extension from
        Returns:
        the file name without extension
      • resolveAttributes

        public static javax.swing.text.AttributeSet resolveAttributes​(javax.swing.text.AttributeSet style)
        resolve sets of attributes that are recursively stored in each other
        Parameters:
        style - the set of attributes containing other sets of attributes
      • nameInput

        public static java.lang.String nameInput​(java.awt.Frame parent,
                                                 java.lang.String initialName,
                                                 java.lang.String regex,
                                                 java.lang.String title,
                                                 java.lang.String text)
        get a name by asking from the user

        Wrapper for JOptionPane with I18N support

        Parameters:
        initialName - the name initially shown in option pane
        title - the title to be shown in the option pane
        text - the text to be shown in the option pane
        Returns:
        the entered name or null if action was cancelled
      • msgChoice

        public static int msgChoice​(int options,
                                    java.lang.String title,
                                    java.lang.String msg,
                                    java.lang.String item,
                                    java.lang.String sep)
        Show a message with options to choose from

        Wrapper for JOptionPane with I18N support

        Parameters:
        options - the options to be shown in the dialog
        title - the title to be shown in the dialog
        msg - the message to be shown in the dialog
        item - a variable part to be shown before msg
        sep - a separator for msg and item (return or blank etc.)
        Returns:
        the choice
      • msg

        public static boolean msg​(int options,
                                  java.lang.String title,
                                  java.lang.String msg,
                                  java.lang.String item,
                                  java.lang.String sep)
        Show a message with options to choose from

        Wrapper for JOptionPane with I18N support

        Parameters:
        options - the options to be shown in the dialog
        title - the title to be shown in the dialog
        msg - the message to be shown in the dialog
        item - a variable part to be shown before msg
        sep - a separator for msg and item (return or blank etc.)
        Returns:
        true, if YES was chosen, false if not
      • getStyleNamesForTag

        public static java.util.Vector getStyleNamesForTag​(javax.swing.text.html.StyleSheet styles,
                                                           java.lang.String tag)
        get names of all styles for a given tag
        Parameters:
        styles - the style sheet to look for style names
        tag - the tag to find style names for
        Returns:
        a Vector with all style names found
      • getStyleNamesForTag

        public static java.util.Vector getStyleNamesForTag​(javax.swing.text.AttributeSet styles,
                                                           java.lang.String tag)
        get names of all styles for a given tag
        Parameters:
        styles - the style sheet to look for style names
        tag - the tag to find style names for
        Returns:
        a Vector with all style names found
      • getStyleNames

        public static java.util.Vector getStyleNames​(javax.swing.text.html.StyleSheet styles)
        get the names of all styles found in a given StyleSheet
        Parameters:
        styles - the StyleSheet to look for style names
        Returns:
        a Vector with all names found
      • deleteDir

        public static void deleteDir​(java.io.File dir)
        delete a directory with all its contents

        CAUTION: This method deletes all content of the given directory including all subdirectories and their conent

        Parameters:
        dir - the directory to delete
      • copyFile

        public static void copyFile​(java.io.File srcFile,
                                    java.io.File destFile)
                             throws java.io.FileNotFoundException,
                                    java.io.IOException
        copies a single file.

        If destFile already exists or if both files are the same the method does nothing. The complete destination path will be created before copying, if necessary.

        Parameters:
        srcFile - the file to copy from
        destFile - the file to copy to
        Throws:
        java.io.FileNotFoundException
        java.io.IOException
      • getElementIndex

        public static int getElementIndex​(javax.swing.text.Element elem)
        get the index of a given element in the list of its parents elements.
        Parameters:
        elem - the element to get the index number for
        Returns:
        the index of the given element
      • getClassFilePath

        public static java.lang.String getClassFilePath​(java.lang.Class cls)
        Get the path of the class file for a given class.

        This is either a directory of a class file or a directory of a JAR file. Thus, this class must reside in the same place as the application in question, not in a separate library for instance.

        Parameters:
        cls - the class to get the path for
        Returns:
        the path of this class file or the path of the JAR file this class file resides in, whatever applies
      • getPtValue

        public static float getPtValue​(java.lang.String valStr)
        quick hack for getting the point value from an attribute value string (needs to be refined and consolidated with length value)
        Parameters:
        valStr - the attribute value string to get the point size for
        Returns:
        the point size from the given attribute value
      • getLastAttrUnit

        public static java.lang.String getLastAttrUnit()
        get the unit string from the last attribute object which was converted to a numerical value
        Returns:
        the unit string from the last attribute object
      • getAttrValue

        public static float getAttrValue​(java.lang.Object attr)
        get the numerical value for an attribute object
        Parameters:
        attr - the attribute to get the value from
        Returns:
        the numerical value
      • getAbsoluteAttrVal

        public static float getAbsoluteAttrVal​(java.lang.Object attr)
        get the absolute value of an attribute
        Parameters:
        attr - the attribute to get the value from
        Returns:
        the absolute numerical value
      • getRowIndex

        public static int getRowIndex​(javax.swing.text.Element cell)
        get the row index for a given table cell
        Parameters:
        cell - the cell element to get the row index for
        Returns:
        the row index of the given cell element
      • tokenize

        public static java.lang.String[] tokenize​(java.lang.String input,
                                                  java.lang.String delim)
        Get an arry of strings from a given string having several entries delimited by blanks.

        In the resource file of SimplyHTML for instance menu bar and menu definitions are contained as strings having a key for each item. The keys are delimited with blanks.

        A string "file edit help" from the resource file for instance would be broken into an array of strings looking as follows

        String[0]="file"
        String[1]="edit"
        String[2]="help"

        Parameters:
        input - the string to transform into a string array
        Returns:
        the resulting string array
      • msgStart

        public static void msgStart​(java.lang.String startMsg)
        write a message with a time stamp to System.out and remember the time stamp in a LIFO Vector
      • findElementUp

        public static javax.swing.text.Element findElementUp​(java.lang.String name,
                                                             javax.swing.text.Element start)
        find the first occurrence of an Element in the element tree above a given Element
        Parameters:
        name - the name of the Element to search for
        start - the Element to start looking
        Returns:
        the found Element or null if none is found
      • findElementUp

        public static javax.swing.text.Element findElementUp​(java.lang.String name1,
                                                             java.lang.String name2,
                                                             javax.swing.text.Element start)
        find the first occurrence of an Element in the element tree above a given Element
        Parameters:
        name1 - the primary name of the Element to search for
        name2 - an alternative name for the Element to search for
        start - the Element to start looking
        Returns:
        the found Element or null if none is found
      • findElementDown

        public static javax.swing.text.Element findElementDown​(java.lang.String name,
                                                               javax.swing.text.Element parent)
        find the first occurrence of an Element in the element tree below a given Element
        Parameters:
        name - the name of the Element to search for
        parent - the Element to start looking
        Returns:
        the found Element or null if none is found
      • addGridBagComponent

        public static void addGridBagComponent​(javax.swing.JComponent container,
                                               javax.swing.JComponent comp,
                                               java.awt.GridBagLayout g,
                                               java.awt.GridBagConstraints c,
                                               int gx,
                                               int gy,
                                               int a)
        convenience method for adding a component to a container layed out by a GridBagLayout
        Parameters:
        container - the container to add a component to
        comp - the component to add to container
        g - the GridBagLayout associated with container
        c - the GridBagConstraints to use
        gx - the value to use for GridBagConstraints.gridx
        gy - the value to use for GridBagConstraints.gridy
        a - the value to use for GridBagConstraints.anchor
      • addGridBagComponent

        public static void addGridBagComponent​(javax.swing.JComponent container,
                                               javax.swing.JComponent comp,
                                               java.awt.GridBagLayout g,
                                               java.awt.GridBagConstraints c,
                                               int gx,
                                               int gy,
                                               int a,
                                               int gw,
                                               int gh)
        convenience method for adding a component to a container layed out by a GridBagLayout
        Parameters:
        container - the container to add a component to
        comp - the component to add to container
        g - the GridBagLayout associated with container
        c - the GridBagConstraints to use
        gx - the value to use for GridBagConstraints.gridx
        gy - the value to use for GridBagConstraints.gridy
        a - the value to use for GridBagConstraints.anchor
        gw - the value to use for GridBagConstraints.gridwidth
        gh - teh value to use for GridBagConstraints.gridheight
      • addGridBagComponent

        public static void addGridBagComponent​(javax.swing.JComponent container,
                                               javax.swing.JComponent comp,
                                               java.awt.GridBagLayout g,
                                               java.awt.GridBagConstraints c,
                                               int gx,
                                               int gy,
                                               int a,
                                               int gw,
                                               int gh,
                                               int f)
        convenience method for adding a component to a container layed out by a GridBagLayout
        Parameters:
        container - the container to add a component to
        comp - the component to add to container
        g - the GridBagLayout associated with container
        c - the GridBagConstraints to use
        gx - the value to use for GridBagConstraints.gridx
        gy - the value to use for GridBagConstraints.gridy
        a - the value to use for GridBagConstraints.anchor
        gw - the value to use for GridBagConstraints.gridwidth
        gh - teh value to use for GridBagConstraints.gridheight
        f - the value to use for GridBagConstraints.fill
      • addGridBagComponent

        public static void addGridBagComponent​(javax.swing.JComponent container,
                                               javax.swing.JComponent comp,
                                               java.awt.GridBagLayout g,
                                               java.awt.GridBagConstraints c,
                                               int gx,
                                               int gy,
                                               int a,
                                               int gw,
                                               int gh,
                                               int f,
                                               double wx,
                                               double wy)
        convenience method for adding a component to a container layed out by a GridBagLayout
        Parameters:
        container - the container to add a component to
        comp - the component to add to container
        g - the GridBagLayout associated with container
        c - the GridBagConstraints to use
        gx - the value to use for GridBagConstraints.gridx
        gy - the value to use for GridBagConstraints.gridy
        a - the value to use for GridBagConstraints.anchor
        gw - the value to use for GridBagConstraints.gridwidth
        gh - teh value to use for GridBagConstraints.gridheight
        f - the value to use for GridBagConstraints.fill
        wx - the value to use for GridBagConstraints.weightx
        wy - the value to use for GridBagConstraints.weighty
      • resolveRelativePath

        public static java.lang.String resolveRelativePath​(java.lang.String relPath,
                                                           java.lang.String absPath)
        resolve a relative URL string against an absolute URL string.

        the absolute URL string is the start point for the relative path.

        Example:

           absolute path:  file:/d:/eigene dateien/eigene bilder/
           relative path:  ../images/test.jpg
           result:         file:/d:/eigene dateien/images/test.jpg
         
        Parameters:
        relPath - the relative URL string to resolve
        absPath - the absolute URL string to start at
        Returns:
        the absolute URL string resulting from resolving relPath against absPath
      • getRelativePath

        public static java.lang.String getRelativePath​(java.io.File fromDir,
                                                       java.io.File toFile)
        get the path to a given file relative to a given directory
        Parameters:
        fromDir - the directory having the file from which the link refers
        toFile - the file to which a link refers
        Returns:
        the relative path
      • errMsg

        public static void errMsg​(java.awt.Component owner,
                                  java.lang.String msg,
                                  java.lang.Throwable e)
        show an error message and print a stack trace to the console if in development mode (DEV_MODE = true)
        Parameters:
        owner - the owner of the message, or null
        msg - the message to display, or null
        e - the exception object describing the error, or null
      • center

        public static void center​(java.awt.Component parent,
                                  java.awt.Component comp)
        center a Component relative to another Component.
        Parameters:
        parent - the Component to be used as the basis for centering
        comp - the Component to be centered within parent
      • styleSheet

        public static javax.swing.text.html.StyleSheet styleSheet()
        get a StyleSheet object for using its utility methods
      • removeChar

        public static java.lang.String removeChar​(java.lang.String src,
                                                  char c)
        remove all occurrences of a given char from a given string
        Parameters:
        src - the string to remove from
        c - the char to remove
        Returns:
        a string copy of src with all occurrences of c removed
      • getResourceString

        public static java.lang.String getResourceString​(UIResources resources,
                                                         java.lang.String nm)
        get a string from the resources file
        Parameters:
        resources - the TextResources to get the string from
        nm - the key of the string
        Returns:
        the string for the given key or null if not found
      • getResourceString

        public static java.lang.String getResourceString​(java.lang.String nm)
      • getPreference

        public static java.lang.String getPreference​(java.lang.String key,
                                                     java.lang.String defaultValue)