Class Main

java.lang.Object
org.apache.batik.apps.svgbrowser.Main
All Implemented Interfaces:
Application

public class Main extends Object implements Application
This class contains the main method of an SVG viewer.
Version:
$Id: Main.java 1804130 2017-08-04 14:41:11Z ssteiner $
  • Field Details

    • UNKNOWN_SCRIPT_TYPE_LOAD_KEY_EXTENSION

      public static final String UNKNOWN_SCRIPT_TYPE_LOAD_KEY_EXTENSION
      Extension used in addition to the scriptType value to read from the PreferenceManager whether or not the scriptType can be loaded.
      See Also:
    • PROPERTY_USER_HOME

      public static final String PROPERTY_USER_HOME
      User home property
      See Also:
    • PROPERTY_JAVA_SECURITY_POLICY

      public static final String PROPERTY_JAVA_SECURITY_POLICY
      System property for specifying an additional policy file.
      See Also:
    • BATIK_CONFIGURATION_SUBDIRECTORY

      public static final String BATIK_CONFIGURATION_SUBDIRECTORY
      Batik configuration sub-directory
      See Also:
    • SQUIGGLE_CONFIGURATION_FILE

      public static final String SQUIGGLE_CONFIGURATION_FILE
      Name of the Squiggle configuration file
      See Also:
    • SQUIGGLE_POLICY_FILE

      public static final String SQUIGGLE_POLICY_FILE
      Name of the Squiggle policy file
      See Also:
    • POLICY_GRANT_SCRIPT_NETWORK_ACCESS

      public static final String POLICY_GRANT_SCRIPT_NETWORK_ACCESS
      Entry for granting network access to scripts
      See Also:
    • POLICY_GRANT_SCRIPT_FILE_ACCESS

      public static final String POLICY_GRANT_SCRIPT_FILE_ACCESS
      Entry for granting file system access to scripts
      See Also:
    • PREFERENCE_KEY_VISITED_URI_LIST

      public static final String PREFERENCE_KEY_VISITED_URI_LIST
      Entry for the list of recently visited URI
      See Also:
    • PREFERENCE_KEY_VISITED_URI_LIST_LENGTH

      public static final String PREFERENCE_KEY_VISITED_URI_LIST_LENGTH
      Entry for the maximum number of last visited URIs
      See Also:
    • URI_SEPARATOR

      public static final String URI_SEPARATOR
      List of separators between URI values in the preference file
      See Also:
    • DEFAULT_DEFAULT_FONT_FAMILY

      public static final String DEFAULT_DEFAULT_FONT_FAMILY
      Default font-family value.
      See Also:
    • SVG_INITIALIZATION

      public static final String SVG_INITIALIZATION
      SVG initialization file, used to trigger loading of most of the Batik classes
      See Also:
    • svgInitializationURI

      protected String svgInitializationURI
      Stores the initialization file URI
    • RESOURCES

      public static final String RESOURCES
      The gui resources file name
      See Also:
    • SQUIGGLE_SECURITY_POLICY

      public static final String SQUIGGLE_SECURITY_POLICY
      URL for Squiggle's security policy file
      See Also:
    • bundle

      protected static ResourceBundle bundle
      The resource bundle
    • resources

      protected static ResourceManager resources
      The resource manager
    • frameIcon

      protected static ImageIcon frameIcon
      The frame's icon.
    • preferenceManager

      protected XMLPreferenceManager preferenceManager
      The preference manager.
    • MAX_VISITED_URIS

      public static final int MAX_VISITED_URIS
      Maximum number of recently visited URIs
      See Also:
    • lastVisited

      protected Vector lastVisited
      The array of last visited URIs
    • maxVisitedURIs

      protected int maxVisitedURIs
      The actual allowed maximum number of last visited URIs
    • arguments

      protected String[] arguments
      The arguments.
    • overrideSecurityPolicy

      protected boolean overrideSecurityPolicy
      Controls whether the application can override the system security policy property. This is done when there was no initial security policy specified when the application started, in which case Batik will use that property.
    • securityEnforcer

      protected ApplicationSecurityEnforcer securityEnforcer
      Script security enforcement is delegated to the security utility
    • handlers

      protected Map handlers
      The option handlers.
    • viewerFrames

      protected List viewerFrames
      The viewer frames.
    • preferenceDialog

      protected PreferenceDialog preferenceDialog
      The preference dialog.
    • uiSpecialization

      protected String uiSpecialization
      The UI specialization to use in the JSVGViewerFrames.
  • Constructor Details

    • Main

      public Main(String[] args)
      Creates a new application.
      Parameters:
      args - The command-line arguments.
  • Method Details

    • main

      public static void main(String[] args)
      Creates a viewer frame and shows it..
      Parameters:
      args - The command-line arguments.
    • installCustomPolicyFile

      public void installCustomPolicyFile() throws IOException
      Installs a custom policy file in the '.batik' directory. This is initialized with the content of the policy file coming with the distribution
      Throws:
      IOException
    • run

      public void run()
      Runs the application.
    • printUsage

      protected void printUsage()
      Prints the command line usage.
    • createAndShowJSVGViewerFrame

      public JSVGViewerFrame createAndShowJSVGViewerFrame()
      Creates and shows a new viewer frame.
      Specified by:
      createAndShowJSVGViewerFrame in interface Application
    • closeJSVGViewerFrame

      public void closeJSVGViewerFrame(JSVGViewerFrame f)
      Closes the given viewer frame.
      Specified by:
      closeJSVGViewerFrame in interface Application
    • createExitAction

      public Action createExitAction(JSVGViewerFrame vf)
      Creates a new application exit action.
      Specified by:
      createExitAction in interface Application
    • openLink

      public void openLink(String url)
      Opens the given link in a new window.
      Specified by:
      openLink in interface Application
    • getXMLParserClassName

      public String getXMLParserClassName()
      Returns the XML parser class name.
      Specified by:
      getXMLParserClassName in interface Application
    • isXMLParserValidating

      public boolean isXMLParserValidating()
      Returns true if the XML parser must be in validation mode, false otherwise.
      Specified by:
      isXMLParserValidating in interface Application
    • showPreferenceDialog

      public void showPreferenceDialog(JSVGViewerFrame f)
      Shows the preference dialog.
      Specified by:
      showPreferenceDialog in interface Application
    • setPreferences

      private void setPreferences() throws IOException
      Throws:
      IOException
    • setPreferences

      private void setPreferences(JSVGViewerFrame vf)
    • getLanguages

      public String getLanguages()
      Returns the user languages.
      Specified by:
      getLanguages in interface Application
    • getUserStyleSheetURI

      public String getUserStyleSheetURI()
      Returns the user stylesheet uri.
      Specified by:
      getUserStyleSheetURI in interface Application
      Returns:
      null if no user style sheet was specified.
    • getDefaultFontFamily

      public String getDefaultFontFamily()
      Returns the default value for the CSS "font-family" property
      Specified by:
      getDefaultFontFamily in interface Application
    • getMedia

      public String getMedia()
      Returns the CSS media to use.
      Specified by:
      getMedia in interface Application
      Returns:
      empty string if no CSS media was specified.
    • isSelectionOverlayXORMode

      public boolean isSelectionOverlayXORMode()
      Returns true if the selection overlay is painted in XOR mode, false otherwise.
      Specified by:
      isSelectionOverlayXORMode in interface Application
    • canLoadScriptType

      public boolean canLoadScriptType(String scriptType)
      Returns true if the input scriptType can be loaded in this application.
      Specified by:
      canLoadScriptType in interface Application
    • getAllowedScriptOrigin

      public int getAllowedScriptOrigin()
      Returns the allowed origins for scripts.
      Specified by:
      getAllowedScriptOrigin in interface Application
      See Also:
    • getAllowedExternalResourceOrigin

      public int getAllowedExternalResourceOrigin()
      Returns the allowed origins for external resources.
      Specified by:
      getAllowedExternalResourceOrigin in interface Application
      See Also:
    • addVisitedURI

      public void addVisitedURI(String uri)
      Notifies Application of recently visited URI
      Specified by:
      addVisitedURI in interface Application
    • getVisitedURIs

      public String[] getVisitedURIs()
      Asks Application for a list of recently visited URI.
      Specified by:
      getVisitedURIs in interface Application
    • getUISpecialization

      public String getUISpecialization()
      Returns the UI resource specialization to use.
      Specified by:
      getUISpecialization in interface Application
    • initializeLastVisited

      protected void initializeLastVisited()
      Initializes the lastVisited array