зеркало из https://github.com/mozilla/gecko-dev.git
This checkin starts updating the javadocs. Wow. Some of these docs
haven't been touched since 1998! A dom/classes/org/mozilla/dom/package.html A dom/classes/org/mozilla/dom/util/package.html A util/classes/org/mozilla/util/package.html A webclient/classes_spec/org/mozilla/webclient/overview.html A webclient/classes_spec/org/mozilla/webclient/package.html M dist/build.xml M util/classes/org/mozilla/util/Debug.java M util/classes/org/mozilla/util/Log.java M util/classes/org/mozilla/util/Range.java M util/classes/org/mozilla/util/Utilities.java M webclient/classes_spec/org/mozilla/webclient/BrowserControl.java M webclient/classes_spec/org/mozilla/webclient/BrowserControlFactory.java M webclient/classes_spec/org/mozilla/webclient/ImplObject.java M webclient/classes_spec/org/mozilla/webclient/Navigation2.java M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java - Start refresh of javadocs
This commit is contained in:
Родитель
49184f0e4d
Коммит
a9dad9e810
|
@ -30,7 +30,7 @@
|
|||
|
||||
<property name="Name" value="webclient"/>
|
||||
<property name="name" value="webclient"/>
|
||||
<property name="version" value="2_0_a2"/>
|
||||
<property name="version" value="2_0_a3"/>
|
||||
|
||||
<!-- ************ Per user local properties ******************************* -->
|
||||
|
||||
|
@ -40,8 +40,16 @@
|
|||
<property environment="myenv" />
|
||||
|
||||
<property name="dist.home" value="${basedir}/dist" />
|
||||
<property name="dist.javadocs" value="${dist.home}/javadocs" />
|
||||
<property name="source.home" value="${basedir}/.." />
|
||||
<property name="moz.dist" value="${myenv.MOZ_SRC}/mozilla/dist" />
|
||||
<property name="javadoc.private" value="false"/>
|
||||
<property name="javadoc.protected" value="true"/>
|
||||
|
||||
<path id="compile.classpath">
|
||||
<pathelement location="${dist.home}/classes"/>
|
||||
</path>
|
||||
|
||||
|
||||
<target name="props">
|
||||
<condition property="so.prefix" value="">
|
||||
|
@ -85,9 +93,38 @@
|
|||
|
||||
<mkdir dir="${dist.home}" />
|
||||
<mkdir dir="${dist.home}/components" />
|
||||
<mkdir dir="${dist.javadocs}" />
|
||||
|
||||
</target>
|
||||
|
||||
<target name="javadoc_check">
|
||||
<uptodate property="javadoc.notrequired" targetfile="${dist.javadocs}/packages.html" >
|
||||
<srcfiles dir= "${source.home}" includes="**/*.java"/>
|
||||
</uptodate>
|
||||
</target>
|
||||
|
||||
<target name="javadocs" depends="prepare, javadoc_check"
|
||||
unless="javadoc.notrequired"
|
||||
description="Create the JavaDoc API documentation">
|
||||
<javadoc packagenames="org.mozilla.*"
|
||||
destdir="${dist.javadocs}"
|
||||
Overview="${source.home}/webclient/classes_spec/org/mozilla/webclient/overview.html"
|
||||
private="${javadoc.private}"
|
||||
protected="${javadoc.protected}"
|
||||
windowtitle="${Name} (${version})"
|
||||
doctitle="${Name} (${version})"
|
||||
bottom="Copyright © 2002-2005 Mozilla.org All Rights Reserved.">
|
||||
<fileset dir="${source.home}">
|
||||
<include name="**/*.java"/>
|
||||
<exclude name="**/impl/**/*.java" />
|
||||
<exclude name="**/wrapper_nonnative/**/*.java" />
|
||||
<exclude name="**/test*/**/*.java" />
|
||||
<exclude name="**/*Impl.java" />
|
||||
</fileset>
|
||||
<classpath refid="compile.classpath"/>
|
||||
</javadoc>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="prepare,compile.test">
|
||||
|
||||
<echo message="${build.home}" />
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<!--
|
||||
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
|
||||
* Ed Burns >edburns@acm.org<
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>org.mozilla.dom</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>Classes to access access and manipulate the <a
|
||||
href="http://www.w3.org/2003/01/dom2-javadoc/">W3C DOM</a> of the
|
||||
current page.</p>
|
||||
|
||||
<p>The normal way to gain access to the dom is by calling {@link
|
||||
org.mozilla.webclient.CurrentPage#getDOM}. This returns an <code><a
|
||||
href="http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Document.html">org.w3c.dom.Document</a></code>
|
||||
instance which can be manipulated and inspected as desired.</code></p>
|
||||
|
||||
|
||||
<hr>
|
||||
<!-- Created: Mon Mar 14 20:36:26 Eastern Standard Time 2005 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Mar 14 20:45:20 Eastern Standard Time 2005
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<!--
|
||||
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
|
||||
* Ed Burns >edburns@acm.org<
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>org.mozilla.dom.util</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>DOM Utilities.</p>
|
||||
<hr>
|
||||
<!-- Created: Mon Mar 14 20:36:26 Eastern Standard Time 2005 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Mar 14 20:49:52 Eastern Standard Time 2005
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
|
@ -1,4 +1,4 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
/* -*- Mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
|
@ -28,35 +28,34 @@ import java.util.Enumeration;
|
|||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <P>
|
||||
* <B>Debug</B> Vendor of debug "filter" strings set & queried by clients. This allows
|
||||
* conditional code to only be executed if a certain filter is set.<BR>
|
||||
* <P>Vendor of debug "filter" strings set & queried by
|
||||
* clients. This allows conditional code to only be executed if a
|
||||
* certain filter is set.</P>
|
||||
*
|
||||
* <I>Example of use from <B>JAG</B> days:<BR>
|
||||
* JDApplication allows the setting of filters from the commandline at app startup time,
|
||||
* and Log supports printing debug messages only when a specific filter string has
|
||||
* been set.</I>
|
||||
* <I>Example of use from <B>JAG</B> days:<BR />
|
||||
*
|
||||
* <p>JDApplication allows the setting of filters from the commandline
|
||||
* at app startup time, and Log supports printing debug messages only
|
||||
* when a specific filter string has been set.</p></I>
|
||||
*
|
||||
* <P>
|
||||
* <P> Alternatively, users can use the System Properties table to
|
||||
* define filter strings at runtime: </p>
|
||||
*
|
||||
* Alternatively, users can use the System Properties table to define
|
||||
* filter strings at runtime: <P>
|
||||
*
|
||||
* <CODE>
|
||||
* <pre><CODE>
|
||||
* java -DDebug.filters=String ... <P>
|
||||
* </CODE>
|
||||
* </CODE></pre>
|
||||
*
|
||||
* where String is comma (,) separated list of constants <B>WITH NO
|
||||
* WHITESPACE</B>. ie "AXISPANEL_PAINT,BODYPANEL_PAINT". <P>
|
||||
* <p>where String is comma (,) separated list of constants <B>WITH NO
|
||||
* WHITESPACE</B>. ie "AXISPANEL_PAINT,BODYPANEL_PAINT". </P>
|
||||
*
|
||||
*
|
||||
* All filters are case-sensitive.
|
||||
* <p>All filters are case-sensitive.</p>
|
||||
*
|
||||
* This class also provides various timing routines.
|
||||
* <p>This class also provides various timing routines.</p>
|
||||
*
|
||||
* </P>
|
||||
* @author Keith Bernstein
|
||||
* @version $Id: Debug.java,v 1.3 2002/04/12 22:57:18 edburns%acm.org Exp $ */
|
||||
* @version $Id: Debug.java,v 1.4 2005/03/15 02:49:16 edburns%acm.org Exp $ */
|
||||
|
||||
public class Debug extends Object {
|
||||
static public final String HELP_FILTER_STRING = "HELP";
|
||||
|
@ -101,59 +100,66 @@ public class Debug extends Object {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* <p>Wait until a debugger attaches.</p>
|
||||
*
|
||||
* <p>Usage:</p>
|
||||
*
|
||||
* <p>Place a call to this method in the earliest possible entry
|
||||
* point of your servlet app. It will cause the app to enter into
|
||||
* an infinite loop, sleeping until the static var keepWaiting is
|
||||
* set to false. The idea is that you attach your debugger to the
|
||||
* servlet, then, set a breakpont in this method. When it is hit,
|
||||
* you use the debugger to set the keepWaiting class var to
|
||||
* false.</p>
|
||||
*/
|
||||
|
||||
* Usage: <P>
|
||||
|
||||
* Place a call to this method in the earliest possible entry point of
|
||||
* your servlet app. It will cause the app to enter into an infinite
|
||||
* loop, sleeping until the static var keepWaiting is set to false. The
|
||||
* idea is that you attach your debugger to the servlet, then, set a
|
||||
* breakpont in this method. When it is hit, you use the debugger to set
|
||||
* the keepWaiting class var to false.
|
||||
|
||||
*/
|
||||
|
||||
public static void waitForDebugger() {
|
||||
while (keepWaiting) {
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
}
|
||||
catch (InterruptedException e) {
|
||||
System.out.println("DebugUtil.waitForDebugger(): Exception: " +
|
||||
e.getMessage());
|
||||
public static void waitForDebugger() {
|
||||
while (keepWaiting) {
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
}
|
||||
catch (InterruptedException e) {
|
||||
System.out.println("DebugUtil.waitForDebugger(): Exception: " +
|
||||
e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets a debug filter, for future consumption by this class, as well as other
|
||||
* utility classes, like Log, etc.
|
||||
*
|
||||
* Virtually all "filters" are simply developer-meaningful strings which will be
|
||||
* tested within developer code, to conditionally execute code.
|
||||
*
|
||||
* There are some predefined filters, which this class actually does something with
|
||||
* (besides simply handing it back when asked for).
|
||||
*
|
||||
* The predefined filters are:
|
||||
* HELP
|
||||
* ALL
|
||||
* TIMING
|
||||
*
|
||||
* If the "HELP" filter is found, this class will print a message displaying the
|
||||
* predefined filters and what they do.
|
||||
*
|
||||
* If the "ALL" filter is found, this class will return "true" when queried for the
|
||||
* existence of <B>any</B> filter, effectively turning on all debugging tests.
|
||||
* This is useful for both quick and easy tests, as well as to find forgotten debug
|
||||
* filters (see Log class for more info on this).
|
||||
*
|
||||
* If the "TIMING" filter is specified, then the time routines will always print
|
||||
* their info, regardless of what filter string is passed to them. This is useful
|
||||
* for turning on all timing tests.
|
||||
* */
|
||||
* <p>Sets a debug filter, for future consumption by this class, as
|
||||
* well as other utility classes, like Log, etc.</p>
|
||||
*
|
||||
* <p>Virtually all "filters" are simply developer-meaningful strings
|
||||
* which will be tested within developer code, to conditionally
|
||||
* execute code.</p>
|
||||
*
|
||||
* <p>There are some predefined filters, which this class actually
|
||||
* does something with (besides simply handing it back when asked
|
||||
* for).</p>
|
||||
*
|
||||
* <p>The predefined filters are:</p>
|
||||
*
|
||||
* <p>HELP</p>
|
||||
* <p>ALL</p>
|
||||
* <p>TIMING</p>
|
||||
*
|
||||
* <p>If the "HELP" filter is found, this class will print a message
|
||||
* displaying the predefined filters and what they do.</p>
|
||||
*
|
||||
* <p>If the "ALL" filter is found, this class will return "true"
|
||||
* when queried for the existence of <B>any</B> filter, effectively
|
||||
* turning on all debugging tests. This is useful for both quick
|
||||
* and easy tests, as well as to find forgotten debug filters (see
|
||||
* Log class for more info on this).</p>
|
||||
*
|
||||
* <p>If the "TIMING" filter is specified, then the time routines
|
||||
* will always print their info, regardless of what filter string is
|
||||
* passed to them. This is useful for turning on all timing
|
||||
* tests.</p>
|
||||
*
|
||||
*/
|
||||
static public synchronized void addFilter(String aFilter) {
|
||||
if (aFilter != null) {
|
||||
if (filters == null) {
|
||||
|
@ -200,11 +206,11 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Look for any "filter" with the specified prefix.
|
||||
* <p>Look for any "filter" with the specified prefix.</p>
|
||||
*
|
||||
* "ALL" is not considered to be a match.
|
||||
* <p>"ALL" is not considered to be a match.</p>
|
||||
*
|
||||
* This method works in (normally) O-n time (if no match).
|
||||
* <p>This method works in (normally) O-n time (if no match).</p>
|
||||
*/
|
||||
|
||||
static public synchronized boolean containsFilterWithPrefix(String aFilterPrefix) {
|
||||
|
@ -225,16 +231,19 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Funnel-point method, which takes a filter and an "allFiltersgMatchThisString" string.
|
||||
* See the javadoc for "containsFilter(String aFilter)" for the rest of what this method
|
||||
* does.
|
||||
* <p>Funnel-point method, which takes a filter and an
|
||||
* "allFiltersgMatchThisString" string. See the javadoc for
|
||||
* "containsFilter(String aFilter)" for the rest of what this method
|
||||
* does.</p>
|
||||
*
|
||||
* This method works in (normally) O-1 time.
|
||||
* <p>This method works in (normally) O-1 time.</p>
|
||||
*
|
||||
* NOTE: The "allFiltersgMatchThisString" parameter can be used to conditionally execute
|
||||
* code while preventing the "ALL" filter from having any effect. So, the conditional code
|
||||
* should use the test "if (Debug.containsFilter("SomeFilter", ""))" to see if a filter
|
||||
* has been set, and not get a false positive from the "ALL" filter.
|
||||
* <p>NOTE: The "allFiltersgMatchThisString" parameter can be used to
|
||||
* conditionally execute code while preventing the "ALL" filter from
|
||||
* having any effect. So, the conditional code should use the test
|
||||
* "if (Debug.containsFilter("SomeFilter", ""))" to see if a filter
|
||||
* has been set, and not get a false positive from the "ALL"
|
||||
* filter.</p>
|
||||
*/
|
||||
static public synchronized boolean containsFilter(String aFilter, String allFiltersgMatchThisString) {
|
||||
if (((aFilter != null) && ((filters != null) && filters.contains(aFilter)))
|
||||
|
@ -247,22 +256,35 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns true if any of the following conditions are true:
|
||||
* 1. The specified filter is contained in the current filter set.
|
||||
* 2. The "ALL" filter is set (this is true even if the passed-in filter is "null").
|
||||
* 3. The passed-in filter is ""... as that filter is considered
|
||||
* to <B>always</B> be a match, regardless of the current filter set.
|
||||
* 4. The passed in filter is "null" and the "ALL" filter is currently set.
|
||||
* Otherwise returns false.
|
||||
*
|
||||
* NOTE: This method, and all filtering of this class is case-sensitive.
|
||||
*/
|
||||
* <p>Returns true if any of the following conditions are true.</p>
|
||||
*
|
||||
* <ol>
|
||||
*
|
||||
* <li> The specified filter is contained in the current filter set.</li>
|
||||
*
|
||||
* <li>The "ALL" filter is set (this is true even if the passed-in
|
||||
* filter is "null").</li>
|
||||
*
|
||||
* <li>The passed-in filter is ""... as that filter is considered *
|
||||
* to <B>always</B> be a match, regardless of the current filter
|
||||
* set.</li>
|
||||
*
|
||||
* <li>The passed in filter is "null" and the "ALL" filter is
|
||||
* currently set. </li>
|
||||
*
|
||||
* </ol>
|
||||
*
|
||||
* <p>Otherwise returns false.</i>
|
||||
*
|
||||
* <p>NOTE: This method, and all filtering of this class is
|
||||
* case-sensitive.</p>
|
||||
*/
|
||||
static public synchronized boolean containsFilter(String aFilter) {
|
||||
return Debug.containsFilter(aFilter, Debug.ALL_FILTER_STRING);
|
||||
}
|
||||
|
||||
// Only used by the timing routines, since they ignore "ALL", but pay attention to
|
||||
// "TIMING".
|
||||
// Only used by the timing routines, since they ignore "ALL", but
|
||||
// pay attention to "TIMING".
|
||||
static private synchronized boolean containsTimingFilter(String aFilter) {
|
||||
return Debug.containsFilter(aFilter, Debug.TIMING_FILTER_STRING);
|
||||
}
|
||||
|
@ -317,11 +339,13 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Starts a timer which can be stopped using one of the "stopTiming()" methods.
|
||||
* <p>Starts a timer which can be stopped using one of the
|
||||
* "stopTiming()" methods.</p>
|
||||
*
|
||||
* This method does not check debug filters... it always does what it's told.
|
||||
* <p>This method does not check debug filters... it always does what
|
||||
* it's told.</p>
|
||||
*
|
||||
* Calling this method resets the elapsed time ("lap time").
|
||||
* <p>Calling this method resets the elapsed time ("lap time").</p>
|
||||
*/
|
||||
static public synchronized void startTiming() {
|
||||
startTime = new Date().getTime();
|
||||
|
@ -329,30 +353,43 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Identical to the "startTiming(String logMessage, String aFilter)" method, except it
|
||||
* will only show the message if the filter "TIMING" exists in Debug's filter list.
|
||||
* <p>Identical to the "startTiming(String logMessage, String
|
||||
* aFilter)" method, except it will only show the message if the
|
||||
* filter "TIMING" exists in Debug's filter list.</p>
|
||||
*/
|
||||
static public synchronized void startTiming(String logMessage) {
|
||||
Debug.startTiming(logMessage, Debug.TIMING_FILTER_STRING);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method does absolutely nothing unless:
|
||||
* 1. The specified filter is contained in the current filter set.
|
||||
* 2. The "TIMING" filter is set (this is true even if the passed-in filter is "null").
|
||||
* 3. The passed-in filter is ""... as that filter is considered
|
||||
* to <B>always</B> be a match, and so will cause this method to always work,
|
||||
* regardless of the current filter set.
|
||||
* NOTE: The "ALL" filter has no effect on timing methods.
|
||||
* <p>This method does absolutely nothing unless one or more of the
|
||||
* following conditions are met.</p>
|
||||
*
|
||||
* Otherwise, starts a timer which can be stopped using one of the "stopTiming()" methods
|
||||
* and prints out a logMessage indicating that timing has begun.
|
||||
* <ol>
|
||||
*
|
||||
* This method may be called with a "null" logMessage. A logMessage is sometimes
|
||||
* unneccesary since the matched filter string is printed with the output anyway, and that
|
||||
* is frequently enough information.
|
||||
* <li> The specified filter is contained in the current filter
|
||||
* set.</li>
|
||||
*
|
||||
* Calling this method resets the elapsed time ("lap time").
|
||||
* <li> The "TIMING" filter is set (this is true even if the passed-in filter is "null").</li>
|
||||
*
|
||||
* <li>The passed-in filter is ""... as that filter is considered to
|
||||
* <B>always</B> be a match, and so will cause this method to always
|
||||
* work, regardless of the current filter set.</li>
|
||||
*
|
||||
* <ol>
|
||||
*
|
||||
* <p> NOTE: The "ALL" filter has no effect on timing methods.</p>
|
||||
*
|
||||
* <p>Otherwise, starts a timer which can be stopped using one of the
|
||||
* "stopTiming()" methods and prints out a logMessage indicating that
|
||||
* timing has begun.</p>
|
||||
*
|
||||
* <p>This method may be called with a "null" logMessage. A
|
||||
* logMessage is sometimes unneccesary since the matched filter
|
||||
* string is printed with the output anyway, and that is frequently
|
||||
* enough information.</p>
|
||||
*
|
||||
* <p>Calling this method resets the elapsed time ("lap time").</p>
|
||||
*/
|
||||
static public synchronized void startTiming(String logMessage, String aFilter) {
|
||||
if (Debug.containsTimingFilter(aFilter)) {
|
||||
|
@ -374,27 +411,26 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the elapsed time since this class was initialized.
|
||||
*
|
||||
* This method does not check debug filters... it always does what it's told.
|
||||
*
|
||||
* Calling this method resets the elapsed time ("lap time").
|
||||
*
|
||||
* This method may be called repeatedly to get "lap" times.
|
||||
*/
|
||||
* <p>Returns the elapsed time since this class was initialized.</p>
|
||||
*
|
||||
* <p>This method does not check debug filters... it always does
|
||||
* what it's told.</p>
|
||||
*
|
||||
* <p>Calling this method resets the elapsed time ("lap time").</p>
|
||||
*
|
||||
* <p>This method may be called repeatedly to get "lap" times.</p>
|
||||
*/
|
||||
static public synchronized long elapsedTimeSinceInitialization() {
|
||||
return Debug.elapsedTime(initializationTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the elapsed time since the preceeding startTiming() call,
|
||||
*
|
||||
* This method does not check debug filters... it always does what it's told.
|
||||
*
|
||||
* Calling this method resets the elapsed time ("lap time").
|
||||
*
|
||||
* This method may be called repeatedly to get "lap" times.
|
||||
*/
|
||||
* <p>Returns the elapsed time since the preceeding startTiming()
|
||||
* call. This method does not check debug filters... it always does
|
||||
* what it's told. Calling this method resets the elapsed time
|
||||
* ("lap time"). This method may be called repeatedly to get "lap"
|
||||
* times.</p>
|
||||
*/
|
||||
static public synchronized long elapsedTimeSinceStartTime() {
|
||||
if (startTime == 0) {
|
||||
return 0L; // "startTime()" was never called.
|
||||
|
@ -404,13 +440,14 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the elapsed time since this class was initialized.
|
||||
* <p>Returns the elapsed time since this class was initialized.</p>
|
||||
*
|
||||
* This method does not check debug filters... it always does what it's told.
|
||||
* <p>This method does not check debug filters... it always does what
|
||||
* it's told.</p>
|
||||
*
|
||||
* Calling this method resets the elapsed time ("lap time").
|
||||
* <p>Calling this method resets the elapsed time ("lap time").</p>
|
||||
*
|
||||
* This method may be called repeatedly to get "lap" times.
|
||||
* <p>This method may be called repeatedly to get "lap" times.</p>
|
||||
*/
|
||||
static public synchronized long elapsedTimeSinceElapsedTime() {
|
||||
if (lapTime == 0) {
|
||||
|
@ -421,41 +458,60 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Identical to the "elapsedTime(String logMessage, String aFilter)" method, except it
|
||||
* will only show the message if the filter "TIMING" exists in Debug's filter list.
|
||||
*/
|
||||
* <p>Identical to the "elapsedTime(String logMessage, String
|
||||
* aFilter)" method, except it will only show the message if the
|
||||
* filter "TIMING" exists in Debug's filter list.</p>
|
||||
*/
|
||||
static public synchronized void elapsedTime(String logMessage) {
|
||||
Debug.elapsedTime(logMessage, Debug.TIMING_FILTER_STRING);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method does absolutely nothing unless:
|
||||
* 1. The specified filter is contained in the current filter set.
|
||||
* 2. The "TIMING" filter is set (this is true even if the passed-in filter is "null").
|
||||
* 3. The passed-in filter is ""... as that filter is considered
|
||||
* to <B>always</B> be a match, and so will cause this method to always work,
|
||||
* regardless of the current filter set.
|
||||
* NOTE: The "ALL" filter has no effect on timing methods.
|
||||
* <p>This method does absolutely nothing unless one or more of the
|
||||
* following conditions are met.</p>
|
||||
*
|
||||
* Otherwise, prints the following information:
|
||||
* 1. The elapsed time since initialization of this class.
|
||||
* 2. The elapsed time since the preceeding startTiming() call.
|
||||
* 3. The "lap" time, since the last time "elapsedTime()" was called.
|
||||
* 4. A client-supplied message.
|
||||
* <ol>
|
||||
*
|
||||
* <li> The specified filter is contained in the current filter set.</li>
|
||||
*
|
||||
* <li>The "TIMING" filter is set (this is true even if the passed-in
|
||||
* filter is "null").</li>
|
||||
*
|
||||
* <li> The passed-in filter is ""... as that filter is considered to
|
||||
* <B>always</B> be a match, and so will cause this method to always
|
||||
* work, regardless of the current filter set.</li>
|
||||
*
|
||||
* </ol>
|
||||
*
|
||||
* <p>NOTE: The "ALL" filter has no effect on timing methods.</p>
|
||||
*
|
||||
* <p>Otherwise, prints the following information:</p>
|
||||
*
|
||||
* <li> The elapsed time since initialization of this class.</li>
|
||||
*
|
||||
* <li> The elapsed time since the preceeding startTiming()
|
||||
* call.</li>
|
||||
*
|
||||
* <li> The "lap" time, since the last time "elapsedTime()" was
|
||||
* called.</li>
|
||||
*
|
||||
* <li> A client-supplied message.</li>
|
||||
*
|
||||
* When a filter matches, this method invokes the following methods:
|
||||
* elapsedTime()
|
||||
* elapsedTimeSinceInitialization()
|
||||
* elapsedTimeSinceElapsedTime()
|
||||
* <p>When a filter matches, this method invokes the following methods:</p>
|
||||
*
|
||||
* When a filter matches, calling this method resets the elapsed time ("lap time").
|
||||
* <p>elapsedTime()</p>
|
||||
* <p>elapsedTimeSinceInitialization()</p>
|
||||
* <p>elapsedTimeSinceElapsedTime()</p>
|
||||
*
|
||||
* <p>When a filter matches, calling this method resets the elapsed
|
||||
* time ("lap time").</p>
|
||||
*
|
||||
* This method may be called with a "null" logMessage. A logMessage is sometimes
|
||||
* unneccesary since the matched filter string is printed with the output anyway, and that
|
||||
* is frequently enough information.
|
||||
* <p>This method may be called with a "null" logMessage. A
|
||||
* logMessage is sometimes unneccesary since the matched filter
|
||||
* string is printed with the output anyway, and that is frequently
|
||||
* enough information.</p>
|
||||
*
|
||||
* This method may be called repeatedly to get "lap" times.
|
||||
* <p>This method may be called repeatedly to get "lap" times.</p>
|
||||
*/
|
||||
static public synchronized void elapsedTime(String logMessage, String aFilter) {
|
||||
if (Debug.containsTimingFilter(aFilter)) {
|
||||
|
@ -499,10 +555,10 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Print time since start of app, and time since the last time this method
|
||||
* was called.
|
||||
* Call this with a msg you want printed, and a filter. Then
|
||||
* run with -jsdebug filter and all these timing msgs will come out.
|
||||
* <p>Print time since start of app, and time since the last time
|
||||
* this method was called. Call this with a msg you want printed,
|
||||
* and a filter. Then run with -jsdebug filter and all these timing
|
||||
* msgs will come out.</p>
|
||||
*/
|
||||
static public synchronized void printTime( String msg, String aFilter) {
|
||||
if ( filters != null && filters.contains( aFilter)) {
|
||||
|
@ -517,8 +573,8 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns a String containing the hexadecimal hashCode of the passed in object,
|
||||
* of the form: "0x0000"
|
||||
* <p>Returns a String containing the hexadecimal hashCode of the
|
||||
* passed in object, of the form: "0x0000".</p>
|
||||
*/
|
||||
static public synchronized String getHashCode(Object anObject) {
|
||||
String returnValue;
|
||||
|
@ -532,8 +588,9 @@ public static void waitForDebugger() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns a String containing the class name and hexadecimal hashCode of the
|
||||
* passed in object, of the form: "fully.qualified.ClassName[0x0000]"
|
||||
* <p>Returns a String containing the class name and hexadecimal
|
||||
* hashCode of the passed in object, of the form:
|
||||
* "fully.qualified.ClassName[0x0000]".</p>
|
||||
*/
|
||||
static public synchronized String getNameAndHashCode(Object anObject) {
|
||||
String returnValue;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
/* -*- Mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
|
@ -26,11 +26,9 @@ package org.mozilla.util;
|
|||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <P>
|
||||
* <B>Log</B>
|
||||
* </P>
|
||||
* <p>Logging facility.</p>
|
||||
* @author Keith Bernstein
|
||||
* @version $Id: Log.java,v 1.2 1999/11/06 02:25:55 dmose%mozilla.org Exp $
|
||||
* @version $Id: Log.java,v 1.3 2005/03/15 02:49:16 edburns%acm.org Exp $
|
||||
*/
|
||||
|
||||
public class Log extends Object {
|
||||
|
@ -40,25 +38,28 @@ public class Log extends Object {
|
|||
static int showTimestampPrefix = 1;
|
||||
|
||||
/**
|
||||
* This string will be prepended to all output from this class.
|
||||
* <p>This string will be prepended to all output from this
|
||||
* class.</p>
|
||||
*
|
||||
* This string is usually the application name, e.g. "JavaPlan".
|
||||
* <p>This string is usually the application name, e.g. "JavaPlan".</p>
|
||||
*
|
||||
* It is useful because it includes a timestamp and the base string (usually the
|
||||
* application name), so that if two apps are launched from the same commandline
|
||||
* (for example), with "&", or one app invokes another, it is clear who the message
|
||||
* is comming from. The time stamp can help see how long operations took, etc.
|
||||
* <p>It is useful because it includes a timestamp and the base string
|
||||
* (usually the application name), so that if two apps are launched
|
||||
* from the same commandline (for example), with "&", or one app
|
||||
* invokes another, it is clear who the message is comming from. The
|
||||
* time stamp can help see how long operations took, etc.</p>
|
||||
*
|
||||
* If you don't want your messages prefixed with anything (no time stamp or name), you must
|
||||
* pass "null" for "applicationName".
|
||||
* <p>If you don't want your messages prefixed with anything (no time
|
||||
* stamp or name), you must pass "null" for "applicationName".</p>
|
||||
*
|
||||
* If this method is never called, "applicationName" will default to:
|
||||
* "APPLICATION NAME UNKNOWN [call setApplicationName from main]"
|
||||
* <p>If this method is never called, "applicationName" will default
|
||||
* to: "APPLICATION NAME UNKNOWN [call setApplicationName from
|
||||
* main]"</p>
|
||||
*
|
||||
*/
|
||||
static public synchronized void setApplicationName(String newApplicationName) {
|
||||
// It's really unfortunate that we can't discover this dynamically.
|
||||
applicationName = newApplicationName;
|
||||
// It's really unfortunate that we can't discover this dynamically.
|
||||
applicationName = newApplicationName;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -114,9 +115,10 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Incrememnts or decrements whether or not to prefix logged messages with a timestamp.
|
||||
* Two (or "n") calls with a value of "false" must be followed by two (or "n") calls
|
||||
* with a value of "true" to reenable timestamp prefixes.
|
||||
* Incrememnts or decrements whether or not to prefix logged messages
|
||||
* with a timestamp. Two (or "n") calls with a value of "false" must
|
||||
* be followed by two (or "n") calls with a value of "true" to
|
||||
* reenable timestamp prefixes.
|
||||
*/
|
||||
static public synchronized void enableTimestampPrefix(boolean enable) {
|
||||
if (enable) {
|
||||
|
@ -127,7 +129,8 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Writes "infoMessage" to stdout, prefixed by the string "ApplicationName: "
|
||||
* Writes "infoMessage" to stdout, prefixed by the string
|
||||
* "ApplicationName: "
|
||||
*/
|
||||
static public synchronized void log(Object infoMessage) {
|
||||
System.out.println(Log.applicationNameWithTimeStamp()+": "+infoMessage);
|
||||
|
@ -135,7 +138,8 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Writes "errorMessage" to stderr, prefixed by the string "ApplicationName error: "
|
||||
* Writes "errorMessage" to stderr, prefixed by the string
|
||||
* "ApplicationName error: "
|
||||
*/
|
||||
static public synchronized void logError(Object errorMessage) {
|
||||
System.err.println(Log.applicationNameWithTimeStamp()+" error: "+errorMessage);
|
||||
|
@ -143,7 +147,8 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Writes "errorMessage" to stderr, prefixed by the string "ApplicationName: "
|
||||
* Writes "errorMessage" to stderr, prefixed by the string
|
||||
* "ApplicationName: "
|
||||
*/
|
||||
static public synchronized void logErrorMessage(Object errorMessage) {
|
||||
System.err.println(Log.applicationNameWithTimeStamp()+": "+errorMessage);
|
||||
|
@ -156,19 +161,22 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Funnel-point method for printing debug messages.
|
||||
* <p>Funnel-point method for printing debug messages.</p>
|
||||
*
|
||||
* Writes "debugMessage" to stderr, prefixed by the string "ApplicationName:"
|
||||
* <p>Writes "debugMessage" to stderr, prefixed by the string
|
||||
* "ApplicationName:"</p>
|
||||
*
|
||||
* This method only works if the debugFilter string is found in Debug's list of
|
||||
* filter strings (which you can normally set on the commandline, see JDApplication),
|
||||
* or if the "ALL" filter has been set into Debug's list of filters, or if the passed
|
||||
* in filter is "", which is considered to always be "set", and will print a line with
|
||||
* "[DEBUG]" listed as the filter.
|
||||
* <p>This method only works if the debugFilter string is found in
|
||||
* Debug's list of filter strings (which you can normally set on the
|
||||
* commandline, see JDApplication), or if the "ALL" filter has been
|
||||
* set into Debug's list of filters, or if the passed in filter is
|
||||
* "", which is considered to always be "set", and will print a line
|
||||
* with "[DEBUG]" listed as the filter.</p>
|
||||
*
|
||||
* This method may be called with a "null" debugMessage. A debugMessage is sometimes
|
||||
* unneccesary since the matched filter string is printed with the output anyway, and that
|
||||
* is frequently enough information.
|
||||
* <p>This method may be called with a "null" debugMessage. A
|
||||
* debugMessage is sometimes unneccesary since the matched filter
|
||||
* string is printed with the output anyway, and that is frequently
|
||||
* enough information.</p>
|
||||
*/
|
||||
static public synchronized void logDebugMessage(Object debugMessage, String debugFilter) {
|
||||
if (Debug.containsFilter(debugFilter)) {
|
||||
|
@ -191,16 +199,17 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Equivalent to calling "logDebugMessage(debugMessage, "ALL")".
|
||||
*/
|
||||
* Equivalent to calling "logDebugMessage(debugMessage, "ALL")".
|
||||
*/
|
||||
static public synchronized void logDebugMessage(Object debugMessage) {
|
||||
logDebugMessage(debugMessage, "ALL");
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a message when "aCondition" is true, otherwise be silent.
|
||||
* Equivalent to calling "if (aCondition) logDebugMessage(debugMessage, "")".
|
||||
*/
|
||||
* Log a message when "aCondition" is true, otherwise be silent.
|
||||
* Equivalent to calling "if (aCondition)
|
||||
* logDebugMessage(debugMessage, "")".
|
||||
*/
|
||||
static public synchronized void logDebugMessage(Object debugMessage, boolean aCondition) {
|
||||
if (aCondition) {
|
||||
Log.logDebugMessage(debugMessage, "");
|
||||
|
@ -208,8 +217,8 @@ public class Log extends Object {
|
|||
}
|
||||
|
||||
/**
|
||||
* Log a message when "aCondition" is true, otherwise be silent.
|
||||
*/
|
||||
* Log a message when "aCondition" is true, otherwise be silent.
|
||||
*/
|
||||
static public synchronized void logDebugMessage(Object anInstance, Object debugMessage, boolean aCondition) {
|
||||
if (aCondition) {
|
||||
Log.logDebugMessage(Debug.getNameAndHashCode(anInstance)+": "+debugMessage, "");
|
||||
|
|
|
@ -34,7 +34,7 @@ import java.lang.Math;
|
|||
* introduce mutability. A mutable range will return true from
|
||||
* isMutable().
|
||||
*
|
||||
* @version $Id: Range.java,v 1.2 1999/11/06 02:25:56 dmose%mozilla.org Exp $
|
||||
* @version $Id: Range.java,v 1.3 2005/03/15 02:49:16 edburns%acm.org Exp $
|
||||
* @author The LFC Team (Rob Davis, Paul Kim, Alan Chung, Ray Ryan, etc)
|
||||
* @author David-John Burrowes (he moved it to the AU package)
|
||||
* @see Range#isMutable()
|
||||
|
@ -51,7 +51,7 @@ public class Range extends Object implements Cloneable, Serializable {
|
|||
* The RCSID for this class.
|
||||
*/
|
||||
private static final String RCSID =
|
||||
"$Id: Range.java,v 1.2 1999/11/06 02:25:56 dmose%mozilla.org Exp $";
|
||||
"$Id: Range.java,v 1.3 2005/03/15 02:49:16 edburns%acm.org Exp $";
|
||||
|
||||
/**
|
||||
* A zero range
|
||||
|
@ -80,7 +80,7 @@ public class Range extends Object implements Cloneable, Serializable {
|
|||
* Creates an instance of Range from another Range object
|
||||
* otherRange which must be non-null.
|
||||
*
|
||||
* @param range the reference range to create this range from
|
||||
* @param otherRange the reference range to create this range from
|
||||
* @exception IllegalArgumentException if otherRange is null
|
||||
*/
|
||||
public Range(Range otherRange) {
|
||||
|
@ -262,7 +262,7 @@ public class Range extends Object implements Cloneable, Serializable {
|
|||
* otherRange. A zero-length range has no overlapping elements
|
||||
* with any range.
|
||||
*
|
||||
* @param a range to check overlaps with this range
|
||||
* @param otherRange a range to check overlaps with this range
|
||||
* @exception IllegalArgumentException if otherRange is null
|
||||
* @return number of elements in both this range and otherRange
|
||||
*/
|
||||
|
|
|
@ -293,8 +293,8 @@ public class Utilities extends Object {
|
|||
/**
|
||||
*
|
||||
* <p>This method tries to load the resource
|
||||
* <code>META-INF/services/>interfaceClassName></code>, where
|
||||
* <code>>interfaceClassName<</code> is the argument to this
|
||||
* <code>META-INF/services/<interfaceClassName></code>, where
|
||||
* <code><interfaceClassName></code> is the argument to this
|
||||
* method. If the resource is found, interpret it as a
|
||||
* <code>Properties</code> file and read out its first line.
|
||||
* Interpret the first line as the fully qualified class name of a
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<!--
|
||||
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
|
||||
* Ed Burns >edburns@acm.org<
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>org.mozilla.util</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>Application utilities. Logging, Debugging, Factory, Assertion, and
|
||||
Parameter Checking</p>
|
||||
|
||||
|
||||
<hr>
|
||||
<!-- Created: Mon Mar 14 20:36:26 Eastern Standard Time 2005 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Mar 14 20:45:20 Eastern Standard Time 2005
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
|
@ -29,33 +29,95 @@ package org.mozilla.webclient;
|
|||
|
||||
/**
|
||||
*
|
||||
|
||||
* Provides a common access point for other webclient interfaces. There
|
||||
* is one instance of this class per application-level browser window.
|
||||
* Instances must be created using BrowserControlFactory.
|
||||
|
||||
|
||||
* <p>Provides a common access point for other webclient interfaces.
|
||||
* There is one instance of this class per application-level browser
|
||||
* window. Instances must be created using {@link
|
||||
* BrowserControlFactory}.</p>
|
||||
*
|
||||
* @version $Id: BrowserControl.java,v 1.4 2003/09/28 06:29:04 edburns%acm.org Exp $
|
||||
* @version $Id: BrowserControl.java,v 1.5 2005/03/15 02:49:16 edburns%acm.org Exp $
|
||||
*
|
||||
* @see org.mozilla.webclient.BrowserControlFactory
|
||||
* */
|
||||
*
|
||||
*/
|
||||
|
||||
public interface BrowserControl
|
||||
{
|
||||
public interface BrowserControl {
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link Bookmarks} API.</p>
|
||||
*/
|
||||
|
||||
public static String BOOKMARKS_NAME = "webclient.Bookmarks";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link BrowserControlCanvas}
|
||||
* that must be added to the application to show the browser
|
||||
* window.</p>
|
||||
*/
|
||||
|
||||
public static String BROWSER_CONTROL_CANVAS_NAME = "webclient.BrowserControlCanvas";
|
||||
|
||||
public static String BOOKMARKS_NAME = "webclient.Bookmarks";
|
||||
public static String BROWSER_CONTROL_CANVAS_NAME = "webclient.BrowserControlCanvas";
|
||||
public static String CURRENT_PAGE_NAME = "webclient.CurrentPage";
|
||||
public static String EVENT_REGISTRATION_NAME = "webclient.EventRegistration";
|
||||
public static String EXTENDED_EVENT_REGISTRATION_NAME = "webclient.ExtendedEventRegistration";
|
||||
public static String HISTORY_NAME = "webclient.History";
|
||||
public static String NAVIGATION_NAME = "webclient.Navigation";
|
||||
public static String CACHE_MANAGER_NAME = "webclient.cache.NetDataCacheManager";
|
||||
public static String PREFERENCES_NAME = "webclient.Preferences";
|
||||
public static String PRINT_NAME = "webclient.Print";
|
||||
public static String WINDOW_CONTROL_NAME = "webclient.WindowControl";
|
||||
public static String PROFILE_MANAGER_NAME = "webclient.ProfileManager";
|
||||
/**
|
||||
* <p>The name of the interface for the {@link CurrentPage} API.</p>
|
||||
*/
|
||||
|
||||
public static String CURRENT_PAGE_NAME = "webclient.CurrentPage";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link EventRegistration}
|
||||
* API.</p>
|
||||
*/
|
||||
public static String EVENT_REGISTRATION_NAME = "webclient.EventRegistration";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link EventRegistration2}
|
||||
* API.</p>
|
||||
*/
|
||||
|
||||
public static String EXTENDED_EVENT_REGISTRATION_NAME = "webclient.ExtendedEventRegistration";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link History} API.</p>
|
||||
*/
|
||||
|
||||
public static String HISTORY_NAME = "webclient.History";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link Navigation} API.</p>
|
||||
*/
|
||||
|
||||
public static String NAVIGATION_NAME = "webclient.Navigation";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the cache management API.
|
||||
* Unimplemented.</p>
|
||||
*/
|
||||
|
||||
public static String CACHE_MANAGER_NAME = "webclient.cache.NetDataCacheManager";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link Preferences} API.</p>
|
||||
*/
|
||||
|
||||
public static String PREFERENCES_NAME = "webclient.Preferences";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the Print API.
|
||||
* Unimplemented.</p>
|
||||
*/
|
||||
|
||||
public static String PRINT_NAME = "webclient.Print";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link WindowControl} API.</p>
|
||||
*/
|
||||
|
||||
public static String WINDOW_CONTROL_NAME = "webclient.WindowControl";
|
||||
|
||||
/**
|
||||
* <p>The name of the interface for the {@link ProfileManager} API.</p>
|
||||
*/
|
||||
|
||||
public static String PROFILE_MANAGER_NAME = "webclient.ProfileManager";
|
||||
|
||||
/**
|
||||
* @deprecated the type of browser implementation is derived using a
|
||||
|
@ -63,18 +125,24 @@ public static String PROFILE_MANAGER_NAME = "webclient.ProfileManager";
|
|||
* org.mozilla.util.Utilities#getImplFromServices}
|
||||
*
|
||||
*/
|
||||
|
||||
public static String BROWSER_TYPE_NATIVE = null;
|
||||
public static String BROWSER_TYPE_NON_NATIVE = null;
|
||||
|
||||
|
||||
public static String BROWSER_TYPE_NATIVE = null;
|
||||
public static String BROWSER_TYPE_NON_NATIVE = null;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
*
|
||||
* <p>Obtain a reference to a class implementing the argument
|
||||
* <code>interfaceName</code>.</p>
|
||||
*
|
||||
* @param interfaceName valid values for <code>interfaceName</code>
|
||||
* are any of the *_NAME class variables in this interface.
|
||||
|
||||
*
|
||||
* @throws ClassNotFoundException if the <code>interfaceName</code>
|
||||
* can't be instantiated for whatever reason.
|
||||
*
|
||||
*/
|
||||
|
||||
public Object queryInterface(String interfaceName) throws ClassNotFoundException;
|
||||
|
||||
public Object queryInterface(String interfaceName) throws ClassNotFoundException;
|
||||
|
||||
} // end of interface BrowserControl
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
/* -*- Mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
|
@ -37,109 +37,143 @@ import java.io.FileNotFoundException;
|
|||
|
||||
|
||||
/**
|
||||
* <p>The factory from which {@link BrowserControl} instances are
|
||||
* created.</p>
|
||||
*
|
||||
* <p><B>BrowserControlFactory</B> uses {@link
|
||||
* Utilities#getImplFromServices} to find an implementation of {@link
|
||||
* WebclientFactory}. All of the public static methods in this class
|
||||
* simply call through to this implemenatation instance.</p>
|
||||
* <p><B>BrowserControlFactory</B> uses {@link
|
||||
* Utilities#getImplFromServices} to find an implementation of {@link
|
||||
* WebclientFactory}. All of the public static methods in this class
|
||||
* simply call through to this implementation instance.</p>
|
||||
*
|
||||
*
|
||||
* @version $Id: BrowserControlFactory.java,v 1.11 2004/11/05 06:40:26 edburns%acm.org Exp $
|
||||
* @version $Id: BrowserControlFactory.java,v 1.12 2005/03/15 02:49:16 edburns%acm.org Exp $
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
public class BrowserControlFactory extends Object
|
||||
{
|
||||
//
|
||||
// Protected Constants
|
||||
//
|
||||
public class BrowserControlFactory extends Object {
|
||||
//
|
||||
// Protected Constants
|
||||
//
|
||||
|
||||
//
|
||||
// Class Variables
|
||||
//
|
||||
|
||||
private static WebclientFactory instance = null;
|
||||
|
||||
//
|
||||
// Constructors and Initializers
|
||||
//
|
||||
|
||||
private BrowserControlFactory() {
|
||||
Assert.assert_it(false, "This class shouldn't be constructed.");
|
||||
}
|
||||
|
||||
//
|
||||
// Class methods
|
||||
//
|
||||
|
||||
//
|
||||
// Class Variables
|
||||
//
|
||||
|
||||
private static WebclientFactory instance = null;
|
||||
|
||||
//
|
||||
// Constructors and Initializers
|
||||
//
|
||||
|
||||
private BrowserControlFactory()
|
||||
{
|
||||
Assert.assert_it(false, "This class shouldn't be constructed.");
|
||||
}
|
||||
|
||||
//
|
||||
// Class methods
|
||||
//
|
||||
|
||||
public static void setProfile(String profileName)
|
||||
{
|
||||
getInstance().setProfile(profileName);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* <p>Initialize the webclient API passing in the path to the browser
|
||||
* binary, if necessary. This must be the first method called in the
|
||||
* Webclient API.</p>
|
||||
*
|
||||
* <p>If we are embedding a native browser, calling this method will
|
||||
* cause the native libraries to be loaded into the JVM.</p>
|
||||
*
|
||||
* @param absolutePathToNativeBrowserBinDir if non-<code>null</code>
|
||||
* this must be the path to the bin dir of the native browser, including
|
||||
* the bin. ie: "D:\\Projects\\mozilla\\dist\\win32_d.obj\\bin". When
|
||||
* embedding a non-native browser, this may be null.
|
||||
*
|
||||
*/
|
||||
|
||||
public static void setAppData(String absolutePathToNativeBrowserBinDir) throws FileNotFoundException, ClassNotFoundException
|
||||
{
|
||||
getInstance().setAppData(absolutePathToNativeBrowserBinDir);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @deprecated Use {@link #setAppData(java.lang.String)} instead.
|
||||
*/
|
||||
|
||||
public static void setAppData(String notUsed, String absolutePathToNativeBrowserBinDir) throws FileNotFoundException, ClassNotFoundException
|
||||
{
|
||||
getInstance().setAppData(absolutePathToNativeBrowserBinDir);
|
||||
}
|
||||
|
||||
public static void appTerminate() throws Exception
|
||||
{
|
||||
getInstance().appTerminate();
|
||||
}
|
||||
|
||||
public static BrowserControl newBrowserControl() throws InstantiationException, IllegalAccessException, IllegalStateException
|
||||
{
|
||||
BrowserControl result = null;
|
||||
result = getInstance().newBrowserControl();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void deleteBrowserControl(BrowserControl toDelete)
|
||||
{
|
||||
getInstance().deleteBrowserControl(toDelete);
|
||||
}
|
||||
|
||||
//
|
||||
// helper methods
|
||||
//
|
||||
|
||||
protected static WebclientFactory getInstance()
|
||||
{
|
||||
if (null != instance) {
|
||||
return instance;
|
||||
/**
|
||||
* <p>If called before the first {@link BrowserControl} has been
|
||||
* created, set the name of the profile to use for this browser
|
||||
* session. If the underlying browser does not support the concept
|
||||
* of profiles, this method is a no-op.</p>
|
||||
*
|
||||
* @param profileName the name of the profile
|
||||
*/
|
||||
|
||||
public static void setProfile(String profileName) {
|
||||
getInstance().setProfile(profileName);
|
||||
}
|
||||
|
||||
instance = (WebclientFactory)
|
||||
Utilities.getImplFromServices("org.mozilla.webclient.WebclientFactory");
|
||||
return instance;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* <p>Initialize the webclient API passing in the path to the browser
|
||||
* binary, if necessary. This must be the first method called in the
|
||||
* Webclient API, and it must be called once and only once.</p>
|
||||
*
|
||||
* <p>If we are embedding a native browser, calling this method will
|
||||
* cause the native libraries to be loaded into the JVM.</p>
|
||||
*
|
||||
* @param absolutePathToNativeBrowserBinDir if non-<code>null</code>
|
||||
* this must be the path to the bin dir of the native browser, including
|
||||
* the bin. ie: "D:\\Projects\\mozilla\\dist\\win32_d.obj\\bin". When
|
||||
* embedding a non-native browser, this may be null.
|
||||
*
|
||||
*/
|
||||
|
||||
public static void setAppData(String absolutePathToNativeBrowserBinDir) throws FileNotFoundException, ClassNotFoundException {
|
||||
getInstance().setAppData(absolutePathToNativeBrowserBinDir);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @deprecated Use {@link #setAppData(java.lang.String)} instead.
|
||||
*/
|
||||
|
||||
public static void setAppData(String notUsed, String absolutePathToNativeBrowserBinDir) throws FileNotFoundException, ClassNotFoundException {
|
||||
getInstance().setAppData(absolutePathToNativeBrowserBinDir);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>This method must be called when the application no longer
|
||||
* needs to use the Webclient API for the rest of its lifetime.</p>
|
||||
*/
|
||||
|
||||
public static void appTerminate() throws Exception {
|
||||
getInstance().appTerminate();
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Create, initialize, and return a new {@link BrowserControl}
|
||||
* instance. There is one <code>BrowserControl</code> instance per
|
||||
* browser window. For example, in a tabbed browser application
|
||||
* with three browser tabs open, there will be three
|
||||
* <code>BrowserControl</code> instances, one for each tab. Also,
|
||||
* any pop-up windows that are created during the course of a user
|
||||
* session also correspond to a <code>BrowserControl</code>
|
||||
* instance.</p>
|
||||
*/
|
||||
|
||||
public static BrowserControl newBrowserControl() throws InstantiationException, IllegalAccessException, IllegalStateException {
|
||||
BrowserControl result = null;
|
||||
result = getInstance().newBrowserControl();
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Delete a {@link BrowserControl} instance created with {@link
|
||||
* #newBrowserControl}. This method must be called when the user no
|
||||
* longer needs a <code>BrowserControl</code> instance. For
|
||||
* example, when a browser tab closes.</p>
|
||||
*
|
||||
* @param toDelete the <code>BrowserControl</code> instance to
|
||||
* delete.
|
||||
*/
|
||||
|
||||
public static void deleteBrowserControl(BrowserControl toDelete) {
|
||||
getInstance().deleteBrowserControl(toDelete);
|
||||
}
|
||||
|
||||
//
|
||||
// helper methods
|
||||
//
|
||||
|
||||
/**
|
||||
* <p>This method enables separating the webclient interface from
|
||||
* its implementation via the {@link Utilities#getImplFromServices}
|
||||
* method.</p>
|
||||
*/
|
||||
|
||||
protected static WebclientFactory getInstance()
|
||||
{
|
||||
if (null != instance) {
|
||||
return instance;
|
||||
}
|
||||
|
||||
instance = (WebclientFactory)
|
||||
Utilities.getImplFromServices("org.mozilla.webclient.WebclientFactory");
|
||||
return instance;
|
||||
}
|
||||
|
||||
} // end of class BrowserControlFactory
|
||||
|
|
|
@ -91,8 +91,6 @@ public BrowserControl getBrowserControl() {
|
|||
* Subclasses should override this and call super.delete() at the end of
|
||||
* their overridden delete() method.
|
||||
|
||||
* @see org.mozilla.webclient.wrapper_native.ImplObjectNative#delete
|
||||
|
||||
*/
|
||||
|
||||
public void delete()
|
||||
|
|
|
@ -37,7 +37,7 @@ public interface Navigation2 extends Navigation
|
|||
|
||||
/**
|
||||
|
||||
* @param absoluteUrl, must be absolute
|
||||
* @param absoluteUrl must be absolute
|
||||
|
||||
* @param target null at the moment
|
||||
|
||||
|
|
|
@ -56,9 +56,10 @@ public interface WebclientFactory {
|
|||
throws FileNotFoundException, ClassNotFoundException;
|
||||
|
||||
/**
|
||||
* <p>if called before {@link setAppData}, this will cause the
|
||||
* profile used for starting up the underlying browser to be set.
|
||||
* If not called, the default will be "webclient"</p>
|
||||
* <p>if called before {@link
|
||||
* BrowserControlFactory#setAppData(java.lang.String)}, this will
|
||||
* cause the profile used for starting up the underlying browser to
|
||||
* be set. If not called, the default will be "webclient"</p>
|
||||
*/
|
||||
|
||||
public void setProfile(String profileName);
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<!--
|
||||
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
|
||||
* Ed Burns >edburns@acm.org<
|
||||
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Webclient</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>The API Javadocs for the Webclient specification.</p>
|
||||
|
||||
<p>Brief usage available in the package docs for the
|
||||
<code>org.mozilla.webclient</code> package. Detailed usage instructions
|
||||
are available at <a target="_"
|
||||
href="http://www.mozilla.org/projects/blackwood/webclient/#Using">http://www.mozilla.org/projects/blackwood/webclient/#Using</a>.</p>
|
||||
|
||||
|
||||
<hr>
|
||||
<!-- Created: Mon Mar 14 19:57:56 Eastern Standard Time 2005 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Mar 14 21:40:08 Eastern Standard Time 2005
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,75 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<!--
|
||||
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
|
||||
* Ed Burns >edburns@acm.org<
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>org.mozilla.webclient</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>The Webclient public API.</p>
|
||||
|
||||
<p>The first Webclient public API call in the application must be {@link
|
||||
org.mozilla.webclient.BrowserControlFactory#setAppData}. If embedding a
|
||||
native browser, the argument must be the fully qualified path name of
|
||||
the binary directory for the browser. If embedding a non-native
|
||||
browser, <code>null</code> must be passed to this method. This method
|
||||
must be called once and only once.</p>
|
||||
|
||||
<p>For browsers that support the concept of "profiles" it must be
|
||||
possible to set the current profile used for this browsing session by
|
||||
calling {@link org.mozilla.webclient.BrowserControlFactory#setProfile}.
|
||||
This call must be made before the first <code>BrowserControl</code>
|
||||
instance is created. If not specified, the "<code>webclient</code>"
|
||||
profile is used to avoid overwriting any settings in the user's
|
||||
profile.</p>
|
||||
|
||||
<p>Upon from return from
|
||||
<code>BrowserControlFactory.setAppData()</code>, {@link
|
||||
org.mozilla.webclient.BrowserControlFactory#newBrowserControl} may be
|
||||
used to create one or more web browser instances. The returned {@link
|
||||
org.mozilla.webclient.BrowserControl} may then be queried, via {@link
|
||||
org.mozilla.webclient.BrowserControl#queryInterface} for additional
|
||||
features.</p>
|
||||
|
||||
<p>When the application is done with a <code>BrowserControl</code>
|
||||
instance, it must pass the instance to {@link
|
||||
org.mozilla.webclient.BrowserControlFactory#deleteBrowserControl}.</p>
|
||||
|
||||
<p>When the application no longer needs the Webclient API, it must call
|
||||
{@link
|
||||
org.mozilla.webclient.BrowserControlFactory#appTerminate}.</p>
|
||||
|
||||
|
||||
<hr>
|
||||
<!-- Created: Mon Mar 14 20:36:26 Eastern Standard Time 2005 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Mar 14 20:45:20 Eastern Standard Time 2005
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче