Interface BrowserFactoryImpl


public interface BrowserFactoryImpl
Implementation of factory class for obtaining references to browser instances.


Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).

The factory implementation interface for obtaining references to browser instances.

Any implementation of a X3D browser that wishes to provide their own customised version of the browser factory should must subclass this class. In particular this is useful if the implementation needs to stay within the package defined by the application for other reasons.

A default implementation of this class is the DefaultBrowserFactoryImpl which is package access only.

*
See Also:
SAI Java Specification: B.5.2 BrowserFactory, X3D Tooltips: BrowserFactoryImpl, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    X3DComponent createComponent​(java.util.Map<java.lang.String,​java.lang.Object> params)
    Create a X3D browser that can be used as an AWT component.
    ExternalBrowser getBrowser​(java.applet.Applet applet)
    Get a browser from the given java applet reference as a base in the current HTML page.
    ExternalBrowser getBrowser​(java.applet.Applet applet, java.lang.String frameName, int index)
    Get a browser from the given java applet reference one some named page and at some embed location.
    ExternalBrowser getBrowser​(java.net.InetAddress address, int port)
    Get a reference to a browser that is located on a remote machine.
  • Method Details

    • createComponent

      X3DComponent createComponent​(java.util.Map<java.lang.String,​java.lang.Object> params) throws NotSupportedException
      Create a X3D browser that can be used as an AWT component. The component returned is guaranteed to be an instance of X3DComponent.
      Parameters:
      params - Parameters to control the look and feel.
      Returns:
      The component browser initialised to be empty.
      Throws:
      NotSupportedException - The implementation does not support this type of browser.
      See Also:
      X3DComponent
    • getBrowser

      ExternalBrowser getBrowser​(java.applet.Applet applet) throws NotSupportedException, NoSuchBrowserException, ConnectionException
      Get a browser from the given java applet reference as a base in the current HTML page. Used when attempting to access a browser on the current page as this applet and is the first browser on the page. Generically, the same as calling getBrowser(applet, "", 0);
      Parameters:
      applet - The applet reference to use
      Returns:
      A reference to the Browser implementation
      Throws:
      NotSupportedException - The implementation does not support this type of X3D browser
      NoSuchBrowserException - Could not locate a X3D browser on the same page as the applet.
      ConnectionException - An error occurred during the connecting process
    • getBrowser

      ExternalBrowser getBrowser​(java.applet.Applet applet, java.lang.String frameName, int index) throws NotSupportedException, NoSuchBrowserException, ConnectionException
      Get a browser from the given java applet reference one some named page and at some embed location. Used when attempting to access a browser on another HTML page within a multi-framed environment, or if there are a number of X3D browser instances located on the same page.

      If the frame name is a zero length string or null then it is assumed to be located on the same HTML page as the applet. The index is the number of the embed X3D browser starting from the top of the page. If there are other non-X3D plugins embedded in the page these are not taken into account in calculating the embed index.

      Parameters:
      applet - The applet reference to use
      frameName - The name of the frame to look into for the browser
      index - The embed index of the X3D browser in the page
      Returns:
      A reference to the Browser implementation
      Throws:
      NotSupportedException - The implementation does not support this type of X3D browser.
      NoSuchBrowserException - Could not locate a X3D browser on the same page as the applet.
      ConnectionException - An error occurred during the connecting process
    • getBrowser

      ExternalBrowser getBrowser​(java.net.InetAddress address, int port) throws NotSupportedException, NoSuchBrowserException, java.net.UnknownHostException, ConnectionException
      Get a reference to a browser that is located on a remote machine. This a server application to send scene updates to a number of client browsers located on remote machines. If there are a number of browsers running on a remote machine, they can be differentiated by the port number they are listening on.

      There is no default port number for X3D browsers.

      Parameters:
      address - The address of the machine to connect to
      port - The port number on that machine to connect to.
      Returns:
      A reference to the Browser implementation
      Throws:
      NotSupportedException - The implementation does not support this type of X3D browser.
      NoSuchBrowserException - Could not locate a X3D browser on the same page as the applet.
      java.net.UnknownHostException - Could not find the machine named in the address.
      ConnectionException - An error occurred during the connecting process