## org.apache.batik.apps.svgbrowser
Class Main

    java.lang.Object
      org.apache.batik.apps.svgbrowser.Main

All Implemented Interfaces:
  Application

public class Main
extends java.lang.Object
implements Application

This class contains the main method of an SVG viewer.

Nested Class Summary
`protected class` `Main.FontSizeHandler` To handle the '-font-size' option.
`protected static interface` `Main.OptionHandler` This interface represents an option handler.

Field Summary
`protected java.lang.String[]` `arguments` The arguments.
`static java.lang.String` `BATIK_CONFIGURATION_SUBDIRECTORY` Batik configuration sub-directory
`protected static java.util.ResourceBundle` `bundle` The resource bundle
`static java.lang.String` `DEFAULT_DEFAULT_FONT_FAMILY` Default font-family value.
`protected static javax.swing.ImageIcon` `frameIcon` The frame's icon.
`protected java.util.Map` `handlers` The option handlers.
`protected java.util.Vector` `lastVisited` The array of last visited URIs
`static int` `MAX_VISITED_URIS` Maximum number of recently visited URIs
`protected int` `maxVisitedURIs` The actual allowed maximum number of last visited URIs
`protected boolean` `overrideSecurityPolicy` Controls whether the application can override the system security policy property.
`static java.lang.String` `POLICY_GRANT_SCRIPT_FILE_ACCESS` Entry for granting file system access to scripts
`static java.lang.String` `POLICY_GRANT_SCRIPT_NETWORK_ACCESS` Entry for granting network access to scripts
`static java.lang.String` `PREFERENCE_KEY_VISITED_URI_LIST` Entry for the list of recently visited URI
`static java.lang.String` `PREFERENCE_KEY_VISITED_URI_LIST_LENGTH` Entry for the maximum number of last visited URIs
`protected PreferenceDialog` `preferenceDialog` The preference dialog.
`protected XMLPreferenceManager` `preferenceManager` The preference manager.
`static java.lang.String` `PROPERTY_JAVA_SECURITY_POLICY` System property for specifying an additional policy file.
`static java.lang.String` `PROPERTY_USER_HOME` User home property
`protected static ResourceManager` `resources` The resource manager
`static java.lang.String` `RESOURCES` The gui resources file name
`protected ApplicationSecurityEnforcer` `securityEnforcer` Script security enforcement is delegated to the security utility
`static java.lang.String` `SQUIGGLE_CONFIGURATION_FILE` Name of the Squiggle configuration file
`static java.lang.String` `SQUIGGLE_POLICY_FILE` Name of the Squiggle policy file
`static java.lang.String` `SQUIGGLE_SECURITY_POLICY` URL for Squiggle's security policy file
`static java.lang.String` `SVG_INITIALIZATION` SVG initialization file, used to trigger loading of most of the Batik classes
`protected java.lang.String` `svgInitializationURI` Stores the initialization file URI
`static java.lang.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.
`static java.lang.String` `URI_SEPARATOR` List of separators between URI values in the preference file
`protected java.util.List` `viewerFrames` The viewer frames.

Constructor Summary
`Main(java.lang.String[] args)` Creates a new application.

Method Summary
`void` `addVisitedURI(java.lang.String uri)` Notifies Application of recently visited URI
`boolean` `canLoadScriptType(java.lang.String scriptType)` Returns true if the input scriptType can be loaded in this application.
`void` `closeJSVGViewerFrame(JSVGViewerFrame f)` Closes the given viewer frame.
`JSVGViewerFrame` `createAndShowJSVGViewerFrame()` Creates and shows a new viewer frame.
`javax.swing.Action` `createExitAction(JSVGViewerFrame vf)` Creates a new application exit action.
`int` `getAllowedExternalResourceOrigin()` Returns the allowed origins for external resources.
`int` `getAllowedScriptOrigin()` Returns the allowed origins for scripts.
`java.lang.String` `getDefaultFontFamily()` Returns the default value for the CSS "font-family" property
`java.lang.String` `getLanguages()` Returns the user languages.
`java.lang.String` `getMedia()` Returns the CSS media to use.
`java.lang.String` `getUserStyleSheetURI()` Returns the user stylesheet uri.
`java.lang.String[]` `getVisitedURIs()` Asks Application for a list of recently visited URI.
`java.lang.String` `getXMLParserClassName()` Returns the XML parser class name.
`protected void` `initializeLastVisited()` Initializes the lastVisited array
`void` `installCustomPolicyFile()` Installs a custom policy file in the '.batik' directory.
`boolean` `isSelectionOverlayXORMode()` Returns true if the selection overlay is painted in XOR mode, false otherwise.
`boolean` `isXMLParserValidating()` Returns true if the XML parser must be in validation mode, false otherwise.
`static void` `main(java.lang.String[] args)` Creates a viewer frame and shows it..
`void` `openLink(java.lang.String url)` Opens the given link in a new window.
`protected void` `printUsage()` Prints the command line usage.
`void` `run()` Runs the application.
`void` `showPreferenceDialog(JSVGViewerFrame f)` Shows the preference dialog.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### UNKNOWN_SCRIPT_TYPE_LOAD_KEY_EXTENSION

    public static final java.lang.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:
    Constant Field Values

### PROPERTY_USER_HOME

    public static final java.lang.String PROPERTY_USER_HOME

  User home property

  See Also:
    Constant Field Values

### PROPERTY_JAVA_SECURITY_POLICY

    public static final java.lang.String PROPERTY_JAVA_SECURITY_POLICY

  System property for specifying an additional policy file.

  See Also:
    Constant Field Values

### BATIK_CONFIGURATION_SUBDIRECTORY

    public static final java.lang.String BATIK_CONFIGURATION_SUBDIRECTORY

  Batik configuration sub-directory

  See Also:
    Constant Field Values

### SQUIGGLE_CONFIGURATION_FILE

    public static final java.lang.String SQUIGGLE_CONFIGURATION_FILE

  Name of the Squiggle configuration file

  See Also:
    Constant Field Values

### SQUIGGLE_POLICY_FILE

    public static final java.lang.String SQUIGGLE_POLICY_FILE

  Name of the Squiggle policy file

  See Also:
    Constant Field Values

### POLICY_GRANT_SCRIPT_NETWORK_ACCESS

    public static final java.lang.String POLICY_GRANT_SCRIPT_NETWORK_ACCESS

  Entry for granting network access to scripts

  See Also:
    Constant Field Values

### POLICY_GRANT_SCRIPT_FILE_ACCESS

    public static final java.lang.String POLICY_GRANT_SCRIPT_FILE_ACCESS

  Entry for granting file system access to scripts

  See Also:
    Constant Field Values

### PREFERENCE_KEY_VISITED_URI_LIST

    public static final java.lang.String PREFERENCE_KEY_VISITED_URI_LIST

  Entry for the list of recently visited URI

  See Also:
    Constant Field Values

### PREFERENCE_KEY_VISITED_URI_LIST_LENGTH

    public static final java.lang.String PREFERENCE_KEY_VISITED_URI_LIST_LENGTH

  Entry for the maximum number of last visited URIs

  See Also:
    Constant Field Values

### URI_SEPARATOR

    public static final java.lang.String URI_SEPARATOR

  List of separators between URI values in the preference file

  See Also:
    Constant Field Values

### DEFAULT_DEFAULT_FONT_FAMILY

    public static final java.lang.String DEFAULT_DEFAULT_FONT_FAMILY

  Default font-family value.

  See Also:
    Constant Field Values

### SVG_INITIALIZATION

    public static final java.lang.String SVG_INITIALIZATION

  SVG initialization file, used to trigger loading of most of the Batik classes

  See Also:
    Constant Field Values

### svgInitializationURI

    protected java.lang.String svgInitializationURI

  Stores the initialization file URI

### RESOURCES

    public static final java.lang.String RESOURCES

  The gui resources file name

  See Also:
    Constant Field Values

### SQUIGGLE_SECURITY_POLICY

    public static final java.lang.String SQUIGGLE_SECURITY_POLICY

  URL for Squiggle's security policy file

  See Also:
    Constant Field Values

### bundle

    protected static java.util.ResourceBundle bundle

  The resource bundle

### resources

    protected static ResourceManager resources

  The resource manager

### frameIcon

    protected static javax.swing.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:
    Constant Field Values

### lastVisited

    protected java.util.Vector lastVisited

  The array of last visited URIs

### maxVisitedURIs

    protected int maxVisitedURIs

  The actual allowed maximum number of last visited URIs

### arguments

    protected java.lang.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 stated, in which case Batik will use that property.

### securityEnforcer

    protected ApplicationSecurityEnforcer securityEnforcer

  Script security enforcement is delegated to the security utility

### handlers

    protected java.util.Map handlers

  The option handlers.

### viewerFrames

    protected java.util.List viewerFrames

  The viewer frames.

### preferenceDialog

    protected PreferenceDialog preferenceDialog

  The preference dialog.

Constructor Detail

### Main

    public Main(java.lang.String[] args)

  Creates a new application.

Parameters:
  `args` - The command-line arguments.

Method Detail

### main

    public static void main(java.lang.String[] args)

  Creates a viewer frame and shows it..

  Parameters:
    `args` - The command-line arguments.

### installCustomPolicyFile

    public void installCustomPolicyFile()
                                 throws java.io.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:
    `java.io.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 javax.swing.Action createExitAction(JSVGViewerFrame vf)

  Creates a new application exit action.

  Specified by:
    `createExitAction` in interface `Application`

### openLink

    public void openLink(java.lang.String url)

  Opens the given link in a new window.

  Specified by:
    `openLink` in interface `Application`

### getXMLParserClassName

    public java.lang.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`

### getLanguages

    public java.lang.String getLanguages()

  Returns the user languages.

  Specified by:
    `getLanguages` in interface `Application`

### getUserStyleSheetURI

    public java.lang.String getUserStyleSheetURI()

  Returns the user stylesheet uri.

  Specified by:
    `getUserStyleSheetURI` in interface `Application`
  Returns:
    null if no user style sheet was specified.

### getDefaultFontFamily

    public java.lang.String getDefaultFontFamily()

  Returns the default value for the CSS "font-family" property

  Specified by:
    `getDefaultFontFamily` in interface `Application`

### getMedia

    public java.lang.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(java.lang.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:
    `ResourceOrigin`

### getAllowedExternalResourceOrigin

    public int getAllowedExternalResourceOrigin()

  Returns the allowed origins for external resources.

  Specified by:
    `getAllowedExternalResourceOrigin` in interface `Application`
  See Also:
    `ResourceOrigin`

### addVisitedURI

    public void addVisitedURI(java.lang.String uri)

  Notifies Application of recently visited URI

  Specified by:
    `addVisitedURI` in interface `Application`

### getVisitedURIs

    public java.lang.String[] getVisitedURIs()

  Asks Application for a list of recently visited URI.

  Specified by:
    `getVisitedURIs` in interface `Application`

### initializeLastVisited

    protected void initializeLastVisited()

  Initializes the lastVisited array

Copyright © 2004 Apache Software Foundation. All Rights Reserved.