gate
Class Gate

java.lang.Object
  |
  +--gate.Gate
All Implemented Interfaces:
GateConstants

public class Gate
extends Object
implements GateConstants

The class is responsible for initialising the GATE libraries, and providing access to singleton utility objects, such as the GATE class loader, CREOLE register and so on.


Field Summary
static String DB_OWNER
          The database schema owner (GATEADMIN is default) this one should not be hardcoded but set in the XML initialization files
static int HASH_STH_SIZE
          The default size to be used for Hashtable, HashMap and HashSet.
static int STRINGBUFFER_SIZE
          The default StringBuffer size, it seems that we need longer string than the StringBuffer class default because of the high number of buffer expansions
static String URI
          The GATE URI used to interpret custom GATE tags
 
Fields inherited from interface gate.GateConstants
ABOUT_URL_JAVA_PROPERTY_NAME, ANNOT_TYPE_TO_EXPORT, APP_ICON_JAVA_PROPERTY_NAME, APP_SPLASH_JAVA_PROPERTY_NAME, APPLICATION_JAVA_PROPERTY_NAME, CORPUS_INDEX_DEFINITION_FEATURE_KEY, CORPUS_INDEX_STATISTICS_FEATURE_KEY, DOCUMENT_NEW_LINE_TYPE, DOCUMENT_REPOSITIONING_INFO_FEATURE_NAME, GATE_CONFIG_PROPERTY, GATE_DOT_SER, GATE_DOT_XML, LOOK_AND_FEEL, MAIN_FRAME_HEIGHT, MAIN_FRAME_WIDTH, MENUS_FONT, ORIGINAL_DOCUMENT_CONTENT_FEATURE_NAME, ORIGINAL_MARKUPS_ANNOT_SET_NAME, OTHER_COMPONENTS_FONT, SAVE_FEATURES_WHEN_PRESERVING_FORMAT, SAVE_OPTIONS_ON_EXIT, SAVE_SESSION_ON_EXIT, TEXT_COMPONENTS_FONT, THROWEX_FORMAT_PROPERTY_NAME, TITLE_JAVA_PROPERTY_NAME, WORDNET_CONFIG_FILE
 
Constructor Summary
Gate()
           
 
Method Summary
static void addCreoleListener(CreoleListener l)
          Registers a CreoleListener with the Gate system
static String genSym()
          Returns a new unique string
static GateClassLoader getClassLoader()
          Get the GATE class loader.
static CreoleRegister getCreoleRegister()
          Get the CREOLE register.
static DataStoreRegister getDataStoreRegister()
          Get the DataStore register.
static String getEmptyConfigFile()
          Get an empty config file.
static Executable getExecutable()
          Returns the curently set executable.
static boolean getHiddenAttribute(FeatureMap fm)
          Returns the value for the HIDDEN attribute of a feature map
static String getMinJdkVersion()
          Get the minimum supported version of the JDK
static OptionsMap getOriginalUserConfig()
          Get the original, initialisation-time, GATE development environment configuration data (initialised from gate.xml).
static Set getRegisteredIREngines()
          Gets the set of registered IR engines.
static File getSiteConfigFile()
          Get the site config file (generally set during command-line processing or as a gate.config property).
static URL getUrl()
          Get a URL that points to either an HTTP server or a file system that contains GATE files (such as test cases).
static URL getUrl(String path)
          Get a URL that points to either an HTTP server or a file system that contains GATE files (such as test cases).
static OptionsMap getUserConfig()
          Get the GATE development environment configuration data (initialised from gate.xml).
static String getUserConfigElement()
          Gate the name of the XML element for GATE development environment config data.
static String getUserConfigFileName()
          Get the name of the user's gate.xml config file (this doesn't guarantee that file exists!).
static String getUserSessionFileName()
          Get the name of the user's gate.ser session state file (this doesn't guarantee that file exists!).
static String guessUnicodeFont()
          Attempts to guess the Unicode font for the platform.
static void init()
          Initialisation - must be called by all clients before using any other parts of the library.
static void initConfigData()
          Reads config data (gate.xml files).
static void initCreoleRegister()
          Initialise the CREOLE register.
static void initDataStoreRegister()
          Initialise the DataStore register.
static boolean isGateType(String classname)
          Checks whether a particular class is a Gate defined type
static boolean isLocalWebServer()
          Should we assume there's a local web server?
static boolean isNetConnected()
          Should we assume we're connected to the net?
static boolean isSlugGui()
          Should we start SLUG GUI.
static String locateGateFiles()
          Find the location of the GATE binaries (and resources) in the local file system.
static void registerIREngine(String className)
          Registers a new IR engine.
static boolean runningOnUnix()
          This method tries to guess if we are on a UNIX system.
static void setExecutable(Executable executable)
          Sets the Executable currently under execution.
static void setHiddenAttribute(FeatureMap fm, boolean hidden)
          Sets the value for the HIDDEN attribute of a feature map
static void setLocalWebServer(boolean b)
          Tell GATE whether to assume there's a local web server.
static void setNetConnected(boolean b)
          Tell GATE whether to assume we're connected to the net.
static void setSiteConfigFile(File siteConfigFile)
          Set the site config file (e.g.
static void setSlugGui(boolean b)
          Tell GATE whether to start SLUG GUI.
static void setUrlBase(URL urlBase)
          Set the URL base for GATE files, e.g.
static boolean tryNetServer(String hostName, int serverPort, String path)
          Try to contact a network server.
static boolean unregisterIREngine(String className)
          Unregisters a previously registered IR engine.
static void writeUserConfig()
          Update the GATE development environment configuration data in the user's gate.xml file (create one if it doesn't exist).
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STRINGBUFFER_SIZE

public static final int STRINGBUFFER_SIZE
The default StringBuffer size, it seems that we need longer string than the StringBuffer class default because of the high number of buffer expansions

HASH_STH_SIZE

public static final int HASH_STH_SIZE
The default size to be used for Hashtable, HashMap and HashSet. The defualt is 11 and it leads to big memory usage. Having a default load factor of 0.75, table of size 4 can take 3 elements before being re-hashed - a values that seems to be optimal for most of the cases.

DB_OWNER

public static final String DB_OWNER
The database schema owner (GATEADMIN is default) this one should not be hardcoded but set in the XML initialization files

URI

public static final String URI
The GATE URI used to interpret custom GATE tags
Constructor Detail

Gate

public Gate()
Method Detail

getMinJdkVersion

public static String getMinJdkVersion()
Get the minimum supported version of the JDK

init

public static void init()
                 throws GateException
Initialisation - must be called by all clients before using any other parts of the library. Also initialises the CREOLE register and reads config data (gate.xml files).
See Also:
initCreoleRegister()

initCreoleRegister

public static void initCreoleRegister()
                               throws GateException
Initialise the CREOLE register.

initDataStoreRegister

public static void initDataStoreRegister()
Initialise the DataStore register.

initConfigData

public static void initConfigData()
                           throws GateException
Reads config data (gate.xml files). There are three sorts of these files: Settings from files read after some settings have already been made will simply overwrite the previous settings.

guessUnicodeFont

public static String guessUnicodeFont()
Attempts to guess the Unicode font for the platform.

getUrl

public static URL getUrl()
                  throws GateException
Get a URL that points to either an HTTP server or a file system that contains GATE files (such as test cases). The following locations are tried in sequence: In each case we assume that a Web server will be running on port 80, and that if we can open a socket to that port then the server is running. (This is a bit of a strong assumption, but this URL is used largely by the test suite, so we're not betting anything too critical on it.)

Note that the value returned will only be calculated when the existing value recorded by this class is null (which will be the case when neither setUrlBase nor getUrlBase have been called, or if setUrlBase(null) has been called).


getUrl

public static URL getUrl(String path)
                  throws GateException
Get a URL that points to either an HTTP server or a file system that contains GATE files (such as test cases). Calls getUrl() then adds the path parameter to the result.
Parameters:
path - a path to add to the base URL.
See Also:
getUrl()

registerIREngine

public static void registerIREngine(String className)
                             throws GateException,
                                    ClassNotFoundException
Registers a new IR engine. The class named should implement IREngine.
Parameters:
className - the fully qualified name of the class to be registered
Throws:
GateException - if the class does not implement the IREngine interface.
ClassNotFoundException - if the named class cannot be found.

unregisterIREngine

public static boolean unregisterIREngine(String className)
Unregisters a previously registered IR engine.
Parameters:
className - the name of the class to be removed from the list of registered IR engines.
Returns:
true if the class was found and removed.

getRegisteredIREngines

public static Set getRegisteredIREngines()
Gets the set of registered IR engines.
Returns:
an unmodifiable Set value.

isNetConnected

public static boolean isNetConnected()
Should we assume we're connected to the net?

setNetConnected

public static void setNetConnected(boolean b)
Tell GATE whether to assume we're connected to the net. Has to be called before init().

isLocalWebServer

public static boolean isLocalWebServer()
Should we assume there's a local web server?

setLocalWebServer

public static void setLocalWebServer(boolean b)
Tell GATE whether to assume there's a local web server.

tryNetServer

public static boolean tryNetServer(String hostName,
                                   int serverPort,
                                   String path)
                            throws MalformedURLException
Try to contact a network server. When sucessfull sets urlBase to an HTTP URL for the server.
Parameters:
hostName - the name of the host to try and connect to
serverPort - the port to try and connect to
path - a path to append to the URL when we make a successfull connection. E.g. for host xyz, port 80, path /thing, the resultant URL would be http://xyz:80/thing.

locateGateFiles

public static String locateGateFiles()
Find the location of the GATE binaries (and resources) in the local file system.

isGateType

public static boolean isGateType(String classname)
Checks whether a particular class is a Gate defined type

getHiddenAttribute

public static boolean getHiddenAttribute(FeatureMap fm)
Returns the value for the HIDDEN attribute of a feature map

setHiddenAttribute

public static void setHiddenAttribute(FeatureMap fm,
                                      boolean hidden)
Sets the value for the HIDDEN attribute of a feature map

addCreoleListener

public static void addCreoleListener(CreoleListener l)
Registers a CreoleListener with the Gate system

setUrlBase

public static void setUrlBase(URL urlBase)
Set the URL base for GATE files, e.g. http://gate.ac.uk/.

getClassLoader

public static GateClassLoader getClassLoader()
Get the GATE class loader.

getCreoleRegister

public static CreoleRegister getCreoleRegister()
Get the CREOLE register.

getDataStoreRegister

public static DataStoreRegister getDataStoreRegister()
Get the DataStore register.

setExecutable

public static void setExecutable(Executable executable)
Sets the Executable currently under execution. At a given time there can be only one executable set. After the executable has finished its execution this value should be set back to null. An attempt to set the executable while this value is not null will result in the method call waiting until the old executable is set to null.

getExecutable

public static Executable getExecutable()
Returns the curently set executable. {@see setExecutable()}

genSym

public static String genSym()
Returns a new unique string

getUserConfigElement

public static String getUserConfigElement()
Gate the name of the XML element for GATE development environment config data.

getSiteConfigFile

public static File getSiteConfigFile()
Get the site config file (generally set during command-line processing or as a gate.config property). If the config is null, this method checks the gate.config property and uses it if non-null.

setSiteConfigFile

public static void setSiteConfigFile(File siteConfigFile)
Set the site config file (e.g. during command-line processing).

getEmptyConfigFile

public static String getEmptyConfigFile()
Get an empty config file. NOTE: this method is intended only for use by the test suite.

getUserConfig

public static OptionsMap getUserConfig()
Get the GATE development environment configuration data (initialised from gate.xml).

getOriginalUserConfig

public static OptionsMap getOriginalUserConfig()
Get the original, initialisation-time, GATE development environment configuration data (initialised from gate.xml).

writeUserConfig

public static void writeUserConfig()
                            throws GateException
Update the GATE development environment configuration data in the user's gate.xml file (create one if it doesn't exist).

getUserConfigFileName

public static String getUserConfigFileName()
Get the name of the user's gate.xml config file (this doesn't guarantee that file exists!).

getUserSessionFileName

public static String getUserSessionFileName()
Get the name of the user's gate.ser session state file (this doesn't guarantee that file exists!).

runningOnUnix

public static boolean runningOnUnix()
This method tries to guess if we are on a UNIX system. It does this by checking the value of System.getProperty("file.separator"); if this is "/" it concludes we are on UNIX. This is obviously not a very good idea in the general case, so nothing much should be made to depend on this method (e.g. just naming of config file .gate.xml as opposed to gate.xml).

isSlugGui

public static boolean isSlugGui()
Should we start SLUG GUI.

setSlugGui

public static void setSlugGui(boolean b)
Tell GATE whether to start SLUG GUI.