diff options
author | Eike Stepper | 2012-06-07 16:00:41 +0000 |
---|---|---|
committer | Eike Stepper | 2012-06-07 16:00:41 +0000 |
commit | fea9a8c7ef1711000c05627fdc2c199aea0aadc8 (patch) | |
tree | b18fd74ad97bc968d774cf23c493f8765c207efb | |
parent | fce1378c776953be9eea47338ecda5e2419948f0 (diff) | |
download | cdo-fea9a8c7ef1711000c05627fdc2c199aea0aadc8.tar.gz cdo-fea9a8c7ef1711000c05627fdc2c199aea0aadc8.tar.xz cdo-fea9a8c7ef1711000c05627fdc2c199aea0aadc8.zip |
Update Javadocs
157 files changed, 4948 insertions, 4223 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.db.doc.warnings b/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.db.doc.warnings deleted file mode 100644 index b03c28921e..0000000000 --- a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.db.doc.warnings +++ /dev/null @@ -1,10 +0,0 @@ -Class description missing: org.eclipse.net4j.db.DBUtil$DeserializeRowHandler.class(DBUtil.java:1075) -Class description missing: org.eclipse.net4j.db.DBUtil$RowHandler.class(DBUtil.java:1056) -Class description missing: org.eclipse.net4j.db.DBUtil$SerializeRowHandler.class(DBUtil.java:1065) -Class description missing: org.eclipse.net4j.db.derby.DerbyAdapter.class(DerbyAdapter.java:21) -Class description missing: org.eclipse.net4j.db.derby.EmbeddedDerbyAdapter.class(EmbeddedDerbyAdapter.java:24) -Class description missing: org.eclipse.net4j.db.h2.H2Adapter.class(H2Adapter.java:28) -Class description missing: org.eclipse.net4j.db.hsqldb.HSQLDBAdapter.class(HSQLDBAdapter.java:27) -Class description missing: org.eclipse.net4j.db.hsqldb.HSQLDBDataSource.class(HSQLDBDataSource.java:20) -Class description missing: org.eclipse.net4j.db.mysql.MYSQLAdapter.class(MYSQLAdapter.java:29) -Class description missing: org.eclipse.net4j.db.postgresql.PostgreSQLAdapter.class(PostgreSQLAdapter.java:36) diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.util.doc.warnings b/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.util.doc.warnings index 05df7ca9c2..1fff33cdab 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.util.doc.warnings +++ b/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.util.doc.warnings @@ -67,9 +67,6 @@ Class description missing: org.eclipse.net4j.util.concurrent.TimerLifecycle$Daem Class description missing: org.eclipse.net4j.util.concurrent.TimerLifecycle.class(TimerLifecycle.java:28) Class description missing: org.eclipse.net4j.util.concurrent.Worker$WorkContext.class(Worker.java:240) Class description missing: org.eclipse.net4j.util.concurrent.Worker.class(Worker.java:26) -Class description missing: org.eclipse.net4j.util.container.IContainer$Modifiable.class(IContainer.java:41) -Class description missing: org.eclipse.net4j.util.container.SetContainer.class(SetContainer.java:21) -Class description missing: org.eclipse.net4j.util.container.delegate.IContainerBlockingQueue.class(IContainerBlockingQueue.java:18) Class description missing: org.eclipse.net4j.util.fsm.FiniteStateMachine$StateChangedEvent.class(FiniteStateMachine.java:355) Class description missing: org.eclipse.net4j.util.io.AsyncOutputStream.class(AsyncOutputStream.java:26) Class description missing: org.eclipse.net4j.util.io.AsyncWriter.class(AsyncWriter.java:26) @@ -123,15 +120,6 @@ Class description missing: org.eclipse.net4j.util.io.ZIPUtil$FileSystemZipHandle Class description missing: org.eclipse.net4j.util.io.ZIPUtil$UnzipHandler.class(ZIPUtil.java:159) Class description missing: org.eclipse.net4j.util.io.ZIPUtil$ZipEntryHandler.class(ZIPUtil.java:151) Class description missing: org.eclipse.net4j.util.io.ZIPUtil.class(ZIPUtil.java:31) -Class description missing: org.eclipse.net4j.util.om.log.AbstractLogHandler.class(AbstractLogHandler.java:19) -Class description missing: org.eclipse.net4j.util.om.log.EclipseLoggingBridge.class(EclipseLoggingBridge.java:24) -Class description missing: org.eclipse.net4j.util.om.log.FileLogHandler.class(FileLogHandler.java:24) -Class description missing: org.eclipse.net4j.util.om.log.Logger.class(Logger.java:19) -Class description missing: org.eclipse.net4j.util.om.log.OMLogHandler.class(OMLogHandler.java:18) -Class description missing: org.eclipse.net4j.util.om.log.OMLogger$Level.class(OMLogger.java:57) -Class description missing: org.eclipse.net4j.util.om.log.OMLogger.class(OMLogger.java:20) -Class description missing: org.eclipse.net4j.util.om.log.OSGiLoggingBridge.class(OSGiLoggingBridge.java:23) -Class description missing: org.eclipse.net4j.util.om.log.PrintLogHandler.class(PrintLogHandler.java:21) Class description missing: org.eclipse.net4j.util.om.monitor.AbstractMonitor$AsyncTimerTask.class(AbstractMonitor.java:158) Class description missing: org.eclipse.net4j.util.om.monitor.AbstractMonitor.class(AbstractMonitor.java:22) Class description missing: org.eclipse.net4j.util.om.monitor.DelegatingMonitor.class(DelegatingMonitor.java:17) @@ -153,21 +141,6 @@ Class description missing: org.eclipse.net4j.util.om.monitor.TimeoutMonitor.clas Class description missing: org.eclipse.net4j.util.om.pref.OMPreference$Type.class(OMPreference.java:39) Class description missing: org.eclipse.net4j.util.om.pref.OMPreference.class(OMPreference.java:18) Class description missing: org.eclipse.net4j.util.om.pref.OMPreferences.class(OMPreferences.java:21) -Class description missing: org.eclipse.net4j.util.om.trace.ContextTracer.class(ContextTracer.java:18) -Class description missing: org.eclipse.net4j.util.om.trace.OMTraceHandler.class(OMTraceHandler.java:16) -Class description missing: org.eclipse.net4j.util.om.trace.OMTraceHandlerEvent.class(OMTraceHandlerEvent.java:18) -Class description missing: org.eclipse.net4j.util.om.trace.OMTracer.class(OMTracer.java:20) -Class description missing: org.eclipse.net4j.util.om.trace.PerfTracer.class(PerfTracer.java:19) -Class description missing: org.eclipse.net4j.util.om.trace.PrintTraceHandler.class(PrintTraceHandler.java:21) -Class description missing: org.eclipse.net4j.util.om.trace.RemoteTraceHandler.class(RemoteTraceHandler.java:26) -Class description missing: org.eclipse.net4j.util.om.trace.RemoteTraceServer$Event.class(RemoteTraceServer.java:206) -Class description missing: org.eclipse.net4j.util.om.trace.RemoteTraceServer$Listener.class(RemoteTraceServer.java:348) -Class description missing: org.eclipse.net4j.util.om.trace.RemoteTraceServer$PrintListener.class(RemoteTraceServer.java:353) -Class description missing: org.eclipse.net4j.util.om.trace.RemoteTraceServer.class(RemoteTraceServer.java:31) -Class description missing: org.eclipse.net4j.util.om.trace.TraceHandlerEvent.class(TraceHandlerEvent.java:19) -Class description missing: org.eclipse.net4j.util.om.trace.Tracer.class(Tracer.java:22) -Class description missing: org.eclipse.net4j.util.options.IOptionsContainer.class(IOptionsContainer.java:18) -Class description missing: org.eclipse.net4j.util.options.OptionsEvent.class(OptionsEvent.java:20) Class description missing: org.eclipse.net4j.util.ref.KeyedPhantomReference.class(KeyedPhantomReference.java:20) Class description missing: org.eclipse.net4j.util.ref.KeyedReference.class(KeyedReference.java:19) Class description missing: org.eclipse.net4j.util.ref.KeyedSoftReference.class(KeyedSoftReference.java:20) diff --git a/plugins/org.eclipse.net4j.db.db2/src/org/eclipse/net4j/db/db2/DB2Adapter.java b/plugins/org.eclipse.net4j.db.db2/src/org/eclipse/net4j/db/db2/DB2Adapter.java index 6349c1be5d..a6d74383ee 100644 --- a/plugins/org.eclipse.net4j.db.db2/src/org/eclipse/net4j/db/db2/DB2Adapter.java +++ b/plugins/org.eclipse.net4j.db.db2/src/org/eclipse/net4j/db/db2/DB2Adapter.java @@ -1,170 +1,173 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.db.db2;
-
-import org.eclipse.net4j.db.DBType;
-import org.eclipse.net4j.db.ddl.IDBField;
-import org.eclipse.net4j.spi.db.DBAdapter;
-
-/**
- * @author Eike Stepper
- * @since 4.0
- */
-public class DB2Adapter extends DBAdapter
-{
- public static final String NAME = "db2"; //$NON-NLS-1$
-
- public static final String VERSION = "3.59.81"; //$NON-NLS-1$
-
- private static final String[] RESERVED_WORDS = { "ACTIVATE", "ABS", "ADD", "AFTER", "ALIAS", "ALL", "ALLOCATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- "ALLOW", "ALTER", "AND", "ANY", "ARE", "ARRAY", "AS", "ASENSITIVE", "ASSOCIATE", "ASUTIME", "ASYMMETRIC", "AT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "ATOMIC", "ATTRIBUTES", "AUDIT", "AUTHORIZATION", "AUX", "AUXILIARY", "AVG", "BEFORE", "BEGIN", "BETWEEN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "BIGINT", "BINARY", "BLOB", "BOOLEAN", "BOTH", "BUFFERPOOL", "BY", "CACHE", "CALL", "CALLED", "CAPTURE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "CARDINALITY", "CASCADED", "CASE", "CAST", "CCSID", "CEIL", "CEILING", "CHAR", "CHAR_LENGTH", "CHARACTER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "CHARACTER_LENGTH", "CHECK", "CLOB", "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLECT", "COLLECTION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "COLLID", "COLUMN", "COMMENT", "COMMIT", "CONCAT", "CONDITION", "CONNECT", "CONNECTION", "CONSTRAINT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "CONTAINS", "CONTINUE", "CONVERT", "CORR", "CORRESPONDING", "COUNT", "COUNT_BIG", "COVAR_POP", "COVAR_SAMP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "CREATE", "CROSS", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_DATE", "CURRENT_DEFAULT_TRANSFORM_GROUP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- "CURRENT_LC_CTYPE", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_SERVER", "CURRENT_TIME", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- "CURRENT_TIMESTAMP", "CURRENT_TIMEZONE", "CURRENT_TRANSFORM_GROUP_FOR_TYPE", "CURRENT_USER", "CURSOR", "CYCLE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- "DATA", "DATABASE", "DATAPARTITIONNAME", "DATAPARTITIONNUM", "DATE", "DAY", "DAYS", "DB2GENERAL", "DB2GENRL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "DB2SQL", "DBINFO", "DBPARTITIONNAME", "DBPARTITIONNUM", "DEALLOCATE", "DEC", "DECIMAL", "DECLARE", "DEFAULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "DEFAULTS", "DEFINITION", "DELETE", "DENSE_RANK", "DENSERANK", "DEREF", "DESCRIBE", "DESCRIPTOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "DETERMINISTIC", "DIAGNOSTICS", "DISABLE", "DISALLOW", "DISCONNECT", "DISTINCT", "DO", "DOUBLE", "DROP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "DSSIZE", "DYNAMIC", "EACH", "EDITPROC", "ELEMENT", "ELSE", "ELSEIF", "ENABLE", "ENCODING", "ENCRYPTION", "END", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "END-EXEC", "ENDING", "ERASE", "ESCAPE", "EVERY", "EXCEPT", "EXCEPTION", "EXCLUDING", "EXCLUSIVE", "EXEC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "EXECUTE", "EXISTS", "EXIT", "EXP", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE", "FENCED", "FETCH", "FIELDPROC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "FILE", "FILTER", "FINAL", "FLOAT", "FLOOR", "FOR", "FOREIGN", "FREE", "FROM", "FULL", "FUNCTION", "FUSION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "GENERAL", "GENERATED", "GET", "GLOBAL", "GO", "GOTO", "GRANT", "GRAPHIC", "GROUP", "GROUPING", "HANDLER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "HASH", "HASHED_VALUE", "HAVING", "HINT", "HOLD", "HOUR", "HOURS", "IDENTITY", "IF", "IMMEDIATE", "IN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "INCLUDING", "INCLUSIVE", "INCREMENT", "INDEX", "INDICATOR", "INHERIT", "INNER", "INOUT", "INSENSITIVE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "INSERT", "INT", "INTEGER", "INTEGRITY", "INTERSECT", "INTERSECTION", "INTERVAL", "INTO", "IS", "ISOBID", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "ISOLATION", "ITERATE", "JAR", "JAVA", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE", "LATERAL", "LC_CTYPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "LEADING", "LEAVE", "LEFT", "LIKE", "LINKTYPE", "LN", "LOCAL", "LOCALDATE", "LOCALE", "LOCALTIME", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "LOCALTIMESTAMP", "LOCATOR", "LOCATORS", "LOCK", "LOCKMAX", "LOCKSIZE", "LONG", "LOOP", "LOWER", "MAINTAINED", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "MATCH", "MATERIALIZED", "MAX", "MAXVALUE", "MEMBER", "MERGE", "METHOD", "MICROSECOND", "MICROSECONDS", "MIN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "MINUTE", "MINUTES", "MINVALUE", "MOD", "MODE", "MODIFIES", "MODULE", "MONTH", "MONTHS", "MULTISET", "NATIONAL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "NATURAL", "NCHAR", "NCLOB", "NEW", "NEW_TABLE", "NEXTVAL", "NO", "NOCACHE", "NOCYCLE", "NODENAME", "NODENUMBER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "NOMAXVALUE", "NOMINVALUE", "NONE", "NOORDER", "NORMALIZE", "NORMALIZED", "NOT", "NULL", "NULLIF", "NULLS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "NUMERIC", "NUMPARTS", "OBID", "OCTET_LENGTH", "OF", "OLD", "OLD_TABLE", "ON", "ONLY", "OPEN", "OPTIMIZATION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "OPTIMIZE", "OPTION", "OR", "ORDER", "OUT", "OUTER", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "PACKAGE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "PADDED", "PAGESIZE", "PARAMETER", "PART", "PARTITION", "PARTITIONED", "PARTITIONING", "PARTITIONS", "PASSWORD", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "PATH", "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", "PIECESIZE", "PLAN", "POSITION", "POWER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "PRECISION", "PREPARE", "PREVVAL", "PRIMARY", "PRIQTY", "PRIVILEGES", "PROCEDURE", "PROGRAM", "PSID", "QUERY", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "QUERYNO", "RANGE", "RANK", "READ", "READS", "REAL", "RECOVERY", "RECURSIVE", "REF", "REFERENCES", "REFERENCING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "REFRESH", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", "REGR_SLOPE", "REGR_SXX", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "REGR_SXY", "REGR_SYY", "RELEASE", "RENAME", "REPEAT", "RESET", "RESIGNAL", "RESTART", "RESTRICT", "RESULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "RESULT_SET_LOCATOR", "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLLBACK", "ROLLUP", "ROUTINE", "ROW", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "ROW_NUMBER", "ROWNUMBER", "ROWS", "ROWSET", "RRN", "RUN", "SAVEPOINT", "SCHEMA", "SCOPE", "SCRATCHPAD", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "SCROLL", "SEARCH", "SECOND", "SECONDS", "SECQTY", "SECURITY", "SELECT", "SENSITIVE", "SEQUENCE", "SESSION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "SESSION_USER", "SET", "SIGNAL", "SIMILAR", "SIMPLE", "SMALLINT", "SOME", "SOURCE", "SPECIFIC", "SPECIFICTYPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "SQL", "SQLEXCEPTION", "SQLID", "SQLSTATE", "SQLWARNING", "SQRT", "STACKED", "STANDARD", "START", "STARTING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "STATEMENT", "STATIC", "STAY", "STDDEV_POP", "STDDEV_SAMP", "STOGROUP", "STORES", "STYLE", "SUBMULTISET", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "SUBSTRING", "SUM", "SUMMARY", "SYMMETRIC", "SYNONYM", "SYSFUN", "SYSIBM", "SYSPROC", "SYSTEM", "SYSTEM_USER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "TABLE", "TABLESAMPLE", "TABLESPACE", "THEN", "TIME", "TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TO", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "TRAILING", "TRANSACTION", "TRANSLATE", "TRANSLATION", "TREAT", "TRIGGER", "TRIM", "TRUE", "TYPE", "UESCAPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "UNDO", "UNION", "UNIQUE", "UNKNOWN", "UNNEST", "UNTIL", "UPDATE", "UPPER", "USAGE", "USER", "USING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "VALIDPROC", "VALUE", "VALUES", "VAR_POP", "VAR_SAMP", "VARCHAR", "VARIABLE", "VARIANT", "VARYING", "VCAT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "VERSION", "VIEW", "VOLATILE", "VOLUMES", "WHEN", "WHENEVER", "WHERE", "WHILE", "WIDTH_BUCKET", "WINDOW", "WITH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "WITHIN", "WITHOUT", "WLM", "WRITE", "XMLELEMENT", "YEAR", "YEARS" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-
- public DB2Adapter()
- {
- super(NAME, VERSION);
- }
-
- public com.ibm.db2.jcc.DB2Driver getJDBCDriver()
- {
- return new com.ibm.db2.jcc.DB2Driver();
- }
-
- public com.ibm.db2.jcc.DB2SimpleDataSource createJDBCDataSource()
- {
- return new com.ibm.db2.jcc.DB2SimpleDataSource();
- }
-
- @Override
- public int getMaxTableNameLength()
- {
- return 128;
- }
-
- @Override
- public int getMaxFieldNameLength()
- {
- return 128; // 30 for SQLDA, see
- // http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html
- }
-
- @Override
- public DBType adaptType(DBType type)
- {
- switch (type)
- {
- // Required in order to not add to the total length of a record.
- // See http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp
- //
- // The actual data for BLOB, CLOB, LONG VARCHAR, DBCLOB, and LONG VARGRAPHIC columns
- // is not included in this count. However, information about the location of that data
- // does take up some space in the row."
- case VARCHAR:
- return DBType.LONGVARCHAR;
-
- case BOOLEAN:
- return DBType.SMALLINT;
- }
-
- return super.adaptType(type);
- }
-
- @Override
- protected String getTypeName(IDBField field)
- {
- DBType type = field.getType();
- switch (type)
- {
- case BINARY:
- case VARBINARY:
- case LONGVARBINARY:
- return "BLOB"; //$NON-NLS-1$
-
- case TINYINT:
- return "SMALLINT"; //$NON-NLS-1$
-
- case FLOAT:
- return "REAL"; //$NON-NLS-1$
-
- case BOOLEAN:
- case BIT:
- return "SMALLINT"; //$NON-NLS-1$
- }
-
- return super.getTypeName(field);
- }
-
- @Override
- public boolean isValidFirstChar(char ch)
- {
- switch (ch)
- {
- case '_':
- return false;
-
- default:
- return super.isValidFirstChar(ch);
- }
- }
-
- public String[] getReservedWords()
- {
- return RESERVED_WORDS;
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.db.db2; + +import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.spi.db.DBAdapter; + +/** + * A {@link IDBAdapter DB adapter} for <a href="http://www-01.ibm.com/software/data/db2">DB2</a> databases. + * + * @author Eike Stepper + * @since 4.0 + */ +public class DB2Adapter extends DBAdapter +{ + public static final String NAME = "db2"; //$NON-NLS-1$ + + public static final String VERSION = "3.59.81"; //$NON-NLS-1$ + + private static final String[] RESERVED_WORDS = { "ACTIVATE", "ABS", "ADD", "AFTER", "ALIAS", "ALL", "ALLOCATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ + "ALLOW", "ALTER", "AND", "ANY", "ARE", "ARRAY", "AS", "ASENSITIVE", "ASSOCIATE", "ASUTIME", "ASYMMETRIC", "AT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "ATOMIC", "ATTRIBUTES", "AUDIT", "AUTHORIZATION", "AUX", "AUXILIARY", "AVG", "BEFORE", "BEGIN", "BETWEEN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "BIGINT", "BINARY", "BLOB", "BOOLEAN", "BOTH", "BUFFERPOOL", "BY", "CACHE", "CALL", "CALLED", "CAPTURE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "CARDINALITY", "CASCADED", "CASE", "CAST", "CCSID", "CEIL", "CEILING", "CHAR", "CHAR_LENGTH", "CHARACTER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "CHARACTER_LENGTH", "CHECK", "CLOB", "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLECT", "COLLECTION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "COLLID", "COLUMN", "COMMENT", "COMMIT", "CONCAT", "CONDITION", "CONNECT", "CONNECTION", "CONSTRAINT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "CONTAINS", "CONTINUE", "CONVERT", "CORR", "CORRESPONDING", "COUNT", "COUNT_BIG", "COVAR_POP", "COVAR_SAMP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "CREATE", "CROSS", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_DATE", "CURRENT_DEFAULT_TRANSFORM_GROUP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ + "CURRENT_LC_CTYPE", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_SERVER", "CURRENT_TIME", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ + "CURRENT_TIMESTAMP", "CURRENT_TIMEZONE", "CURRENT_TRANSFORM_GROUP_FOR_TYPE", "CURRENT_USER", "CURSOR", "CYCLE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ + "DATA", "DATABASE", "DATAPARTITIONNAME", "DATAPARTITIONNUM", "DATE", "DAY", "DAYS", "DB2GENERAL", "DB2GENRL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "DB2SQL", "DBINFO", "DBPARTITIONNAME", "DBPARTITIONNUM", "DEALLOCATE", "DEC", "DECIMAL", "DECLARE", "DEFAULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "DEFAULTS", "DEFINITION", "DELETE", "DENSE_RANK", "DENSERANK", "DEREF", "DESCRIBE", "DESCRIPTOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "DETERMINISTIC", "DIAGNOSTICS", "DISABLE", "DISALLOW", "DISCONNECT", "DISTINCT", "DO", "DOUBLE", "DROP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "DSSIZE", "DYNAMIC", "EACH", "EDITPROC", "ELEMENT", "ELSE", "ELSEIF", "ENABLE", "ENCODING", "ENCRYPTION", "END", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "END-EXEC", "ENDING", "ERASE", "ESCAPE", "EVERY", "EXCEPT", "EXCEPTION", "EXCLUDING", "EXCLUSIVE", "EXEC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "EXECUTE", "EXISTS", "EXIT", "EXP", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE", "FENCED", "FETCH", "FIELDPROC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "FILE", "FILTER", "FINAL", "FLOAT", "FLOOR", "FOR", "FOREIGN", "FREE", "FROM", "FULL", "FUNCTION", "FUSION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "GENERAL", "GENERATED", "GET", "GLOBAL", "GO", "GOTO", "GRANT", "GRAPHIC", "GROUP", "GROUPING", "HANDLER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "HASH", "HASHED_VALUE", "HAVING", "HINT", "HOLD", "HOUR", "HOURS", "IDENTITY", "IF", "IMMEDIATE", "IN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "INCLUDING", "INCLUSIVE", "INCREMENT", "INDEX", "INDICATOR", "INHERIT", "INNER", "INOUT", "INSENSITIVE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "INSERT", "INT", "INTEGER", "INTEGRITY", "INTERSECT", "INTERSECTION", "INTERVAL", "INTO", "IS", "ISOBID", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "ISOLATION", "ITERATE", "JAR", "JAVA", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE", "LATERAL", "LC_CTYPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "LEADING", "LEAVE", "LEFT", "LIKE", "LINKTYPE", "LN", "LOCAL", "LOCALDATE", "LOCALE", "LOCALTIME", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "LOCALTIMESTAMP", "LOCATOR", "LOCATORS", "LOCK", "LOCKMAX", "LOCKSIZE", "LONG", "LOOP", "LOWER", "MAINTAINED", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "MATCH", "MATERIALIZED", "MAX", "MAXVALUE", "MEMBER", "MERGE", "METHOD", "MICROSECOND", "MICROSECONDS", "MIN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "MINUTE", "MINUTES", "MINVALUE", "MOD", "MODE", "MODIFIES", "MODULE", "MONTH", "MONTHS", "MULTISET", "NATIONAL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "NATURAL", "NCHAR", "NCLOB", "NEW", "NEW_TABLE", "NEXTVAL", "NO", "NOCACHE", "NOCYCLE", "NODENAME", "NODENUMBER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "NOMAXVALUE", "NOMINVALUE", "NONE", "NOORDER", "NORMALIZE", "NORMALIZED", "NOT", "NULL", "NULLIF", "NULLS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "NUMERIC", "NUMPARTS", "OBID", "OCTET_LENGTH", "OF", "OLD", "OLD_TABLE", "ON", "ONLY", "OPEN", "OPTIMIZATION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "OPTIMIZE", "OPTION", "OR", "ORDER", "OUT", "OUTER", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "PACKAGE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "PADDED", "PAGESIZE", "PARAMETER", "PART", "PARTITION", "PARTITIONED", "PARTITIONING", "PARTITIONS", "PASSWORD", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "PATH", "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", "PIECESIZE", "PLAN", "POSITION", "POWER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "PRECISION", "PREPARE", "PREVVAL", "PRIMARY", "PRIQTY", "PRIVILEGES", "PROCEDURE", "PROGRAM", "PSID", "QUERY", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "QUERYNO", "RANGE", "RANK", "READ", "READS", "REAL", "RECOVERY", "RECURSIVE", "REF", "REFERENCES", "REFERENCING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "REFRESH", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", "REGR_SLOPE", "REGR_SXX", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "REGR_SXY", "REGR_SYY", "RELEASE", "RENAME", "REPEAT", "RESET", "RESIGNAL", "RESTART", "RESTRICT", "RESULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "RESULT_SET_LOCATOR", "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLLBACK", "ROLLUP", "ROUTINE", "ROW", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "ROW_NUMBER", "ROWNUMBER", "ROWS", "ROWSET", "RRN", "RUN", "SAVEPOINT", "SCHEMA", "SCOPE", "SCRATCHPAD", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "SCROLL", "SEARCH", "SECOND", "SECONDS", "SECQTY", "SECURITY", "SELECT", "SENSITIVE", "SEQUENCE", "SESSION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "SESSION_USER", "SET", "SIGNAL", "SIMILAR", "SIMPLE", "SMALLINT", "SOME", "SOURCE", "SPECIFIC", "SPECIFICTYPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "SQL", "SQLEXCEPTION", "SQLID", "SQLSTATE", "SQLWARNING", "SQRT", "STACKED", "STANDARD", "START", "STARTING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "STATEMENT", "STATIC", "STAY", "STDDEV_POP", "STDDEV_SAMP", "STOGROUP", "STORES", "STYLE", "SUBMULTISET", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "SUBSTRING", "SUM", "SUMMARY", "SYMMETRIC", "SYNONYM", "SYSFUN", "SYSIBM", "SYSPROC", "SYSTEM", "SYSTEM_USER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "TABLE", "TABLESAMPLE", "TABLESPACE", "THEN", "TIME", "TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TO", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "TRAILING", "TRANSACTION", "TRANSLATE", "TRANSLATION", "TREAT", "TRIGGER", "TRIM", "TRUE", "TYPE", "UESCAPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "UNDO", "UNION", "UNIQUE", "UNKNOWN", "UNNEST", "UNTIL", "UPDATE", "UPPER", "USAGE", "USER", "USING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "VALIDPROC", "VALUE", "VALUES", "VAR_POP", "VAR_SAMP", "VARCHAR", "VARIABLE", "VARIANT", "VARYING", "VCAT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "VERSION", "VIEW", "VOLATILE", "VOLUMES", "WHEN", "WHENEVER", "WHERE", "WHILE", "WIDTH_BUCKET", "WINDOW", "WITH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "WITHIN", "WITHOUT", "WLM", "WRITE", "XMLELEMENT", "YEAR", "YEARS" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ + + public DB2Adapter() + { + super(NAME, VERSION); + } + + public com.ibm.db2.jcc.DB2Driver getJDBCDriver() + { + return new com.ibm.db2.jcc.DB2Driver(); + } + + public com.ibm.db2.jcc.DB2SimpleDataSource createJDBCDataSource() + { + return new com.ibm.db2.jcc.DB2SimpleDataSource(); + } + + @Override + public int getMaxTableNameLength() + { + return 128; + } + + @Override + public int getMaxFieldNameLength() + { + return 128; // 30 for SQLDA, see + // http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html + } + + @Override + public DBType adaptType(DBType type) + { + switch (type) + { + // Required in order to not add to the total length of a record. + // See http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp + // + // The actual data for BLOB, CLOB, LONG VARCHAR, DBCLOB, and LONG VARGRAPHIC columns + // is not included in this count. However, information about the location of that data + // does take up some space in the row." + case VARCHAR: + return DBType.LONGVARCHAR; + + case BOOLEAN: + return DBType.SMALLINT; + } + + return super.adaptType(type); + } + + @Override + protected String getTypeName(IDBField field) + { + DBType type = field.getType(); + switch (type) + { + case BINARY: + case VARBINARY: + case LONGVARBINARY: + return "BLOB"; //$NON-NLS-1$ + + case TINYINT: + return "SMALLINT"; //$NON-NLS-1$ + + case FLOAT: + return "REAL"; //$NON-NLS-1$ + + case BOOLEAN: + case BIT: + return "SMALLINT"; //$NON-NLS-1$ + } + + return super.getTypeName(field); + } + + @Override + public boolean isValidFirstChar(char ch) + { + switch (ch) + { + case '_': + return false; + + default: + return super.isValidFirstChar(ch); + } + } + + public String[] getReservedWords() + { + return RESERVED_WORDS; + } +} diff --git a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java index 1cf25938bd..f490833a94 100644 --- a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java +++ b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java @@ -1,88 +1,91 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.db.derby;
-
-import org.eclipse.net4j.db.DBType;
-import org.eclipse.net4j.db.ddl.IDBField;
-import org.eclipse.net4j.spi.db.DBAdapter;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public abstract class DerbyAdapter extends DBAdapter
-{
- public static final String VERSION = "10.3.2.1"; //$NON-NLS-1$
-
- private static final String[] RESERVED_WORDS = { "ADD", "ALL", "ALLOCATE", "ALTER", "AND", "ANY", "ARE", "AS", "ASC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "ASSERTION", "AT", "AUTHORIZATION", "AVG", "BEGIN", "BETWEEN", "BIGINT", "BIT", "BOOLEAN", "BOTH", "BY", "CALL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "CASCADE", "CASCADED", "CASE", "CAST", "CHAR", "CHARACTER", "CHECK", "CLOSE", "COALESCE", "COLLATE", "COLLATION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "COLUMN", "COMMIT", "CONNECT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTINUE", "CONVERT", "CORRESPONDING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "CREATE", "CURRENT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "DEALLOCATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "DEC", "DECIMAL", "DECLARE", "DEFAULT", "DEFERRABLE", "DEFERRED", "DELETE", "DESC", "DESCRIBE", "DIAGNOSTICS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "DISCONNECT", "DISTINCT", "DOUBLE", "DROP", "ELSE", "END", "END-EXEC", "ESCAPE", "EXCEPT", "EXCEPTION", "EXEC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "EXECUTE", "EXISTS", "EXPLAIN", "EXTERNAL", "FALSE", "FETCH", "FIRST", "FLOAT", "FOR", "FOREIGN", "FOUND", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "FROM", "FULL", "FUNCTION", "GET", "GETCURRENTCONNECTION", "GLOBAL", "GO", "GOTO", "GRANT", "GROUP", "HAVING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "HOUR", "IDENTITY", "IMMEDIATE", "IN", "INDICATOR", "INITIALLY", "INNER", "INOUT", "INPUT", "INSENSITIVE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "INSERT", "INT", "INTEGER", "INTERSECT", "INTO", "IS", "ISOLATION", "JOIN", "KEY", "LAST", "LEFT", "LIKE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "LOWER", "LTRIM", "MATCH", "MAX", "MIN", "MINUTE", "NATIONAL", "NATURAL", "NCHAR", "NVARCHAR", "NEXT", "NO", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "NOT", "NULL", "NULLIF", "NUMERIC", "OF", "ON", "ONLY", "OPEN", "OPTION", "OR", "ORDER", "OUTER", "OUTPUT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$
- "OVERLAPS", "PAD", "PARTIAL", "PREPARE", "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURE", "PUBLIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "READ", "REAL", "REFERENCES", "RELATIVE", "RESTRICT", "REVOKE", "RIGHT", "ROLLBACK", "ROWS", "RTRIM", "SCHEMA", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "SCROLL", "SECOND", "SELECT", "SESSION_USER", "SET", "SMALLINT", "SOME", "SPACE", "SQL", "SQLCODE", "SQLERROR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "SQLSTATE", "SUBSTR", "SUBSTRING", "SUM", "SYSTEM_USER", "TABLE", "TEMPORARY", "TIMEZONE_HOUR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "TIMEZONE_MINUTE", "TO", "TRANSACTION", "TRANSLATE", "TRANSLATION", "TRIM", "TRUE", "UNION", "UNIQUE", "UNKNOWN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "UPDATE", "UPPER", "USER", "USING", "VALUES", "VARCHAR", "VARYING", "VIEW", "WHENEVER", "WHERE", "WITH", "WORK", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "WRITE", "XML", "XMLEXISTS", "XMLPARSE", "XMLQUERY", "XMLSERIALIZE", "YEAR" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-
- public DerbyAdapter(String name)
- {
- super(name, VERSION);
- }
-
- @Override
- protected String getTypeName(IDBField field)
- {
- DBType type = field.getType();
- switch (type)
- {
- case TINYINT:
- case BOOLEAN:
- case BIT:
- return "SMALLINT"; //$NON-NLS-1$
-
- case LONGVARBINARY:
- case VARBINARY:
- case BINARY:
- return "BLOB"; //$NON-NLS-1$
- }
-
- return super.getTypeName(field);
- }
-
- public String[] getReservedWords()
- {
- return RESERVED_WORDS;
- }
-
- @Override
- public boolean isValidFirstChar(char ch)
- {
- switch (ch)
- {
- case '_':
- return false;
-
- default:
- return super.isValidFirstChar(ch);
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.db.derby; + +import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.spi.db.DBAdapter; + +/** + * A {@link IDBAdapter DB adapter} for <a href="http://db.apache.org/derby">Derby</a> databases. + * + * @author Eike Stepper + * @since 2.0 + */ +public abstract class DerbyAdapter extends DBAdapter +{ + public static final String VERSION = "10.3.2.1"; //$NON-NLS-1$ + + private static final String[] RESERVED_WORDS = { "ADD", "ALL", "ALLOCATE", "ALTER", "AND", "ANY", "ARE", "AS", "ASC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "ASSERTION", "AT", "AUTHORIZATION", "AVG", "BEGIN", "BETWEEN", "BIGINT", "BIT", "BOOLEAN", "BOTH", "BY", "CALL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "CASCADE", "CASCADED", "CASE", "CAST", "CHAR", "CHARACTER", "CHECK", "CLOSE", "COALESCE", "COLLATE", "COLLATION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "COLUMN", "COMMIT", "CONNECT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTINUE", "CONVERT", "CORRESPONDING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "CREATE", "CURRENT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "DEALLOCATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "DEC", "DECIMAL", "DECLARE", "DEFAULT", "DEFERRABLE", "DEFERRED", "DELETE", "DESC", "DESCRIBE", "DIAGNOSTICS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "DISCONNECT", "DISTINCT", "DOUBLE", "DROP", "ELSE", "END", "END-EXEC", "ESCAPE", "EXCEPT", "EXCEPTION", "EXEC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "EXECUTE", "EXISTS", "EXPLAIN", "EXTERNAL", "FALSE", "FETCH", "FIRST", "FLOAT", "FOR", "FOREIGN", "FOUND", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "FROM", "FULL", "FUNCTION", "GET", "GETCURRENTCONNECTION", "GLOBAL", "GO", "GOTO", "GRANT", "GROUP", "HAVING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "HOUR", "IDENTITY", "IMMEDIATE", "IN", "INDICATOR", "INITIALLY", "INNER", "INOUT", "INPUT", "INSENSITIVE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "INSERT", "INT", "INTEGER", "INTERSECT", "INTO", "IS", "ISOLATION", "JOIN", "KEY", "LAST", "LEFT", "LIKE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "LOWER", "LTRIM", "MATCH", "MAX", "MIN", "MINUTE", "NATIONAL", "NATURAL", "NCHAR", "NVARCHAR", "NEXT", "NO", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "NOT", "NULL", "NULLIF", "NUMERIC", "OF", "ON", "ONLY", "OPEN", "OPTION", "OR", "ORDER", "OUTER", "OUTPUT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ + "OVERLAPS", "PAD", "PARTIAL", "PREPARE", "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURE", "PUBLIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "READ", "REAL", "REFERENCES", "RELATIVE", "RESTRICT", "REVOKE", "RIGHT", "ROLLBACK", "ROWS", "RTRIM", "SCHEMA", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "SCROLL", "SECOND", "SELECT", "SESSION_USER", "SET", "SMALLINT", "SOME", "SPACE", "SQL", "SQLCODE", "SQLERROR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "SQLSTATE", "SUBSTR", "SUBSTRING", "SUM", "SYSTEM_USER", "TABLE", "TEMPORARY", "TIMEZONE_HOUR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "TIMEZONE_MINUTE", "TO", "TRANSACTION", "TRANSLATE", "TRANSLATION", "TRIM", "TRUE", "UNION", "UNIQUE", "UNKNOWN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "UPDATE", "UPPER", "USER", "USING", "VALUES", "VARCHAR", "VARYING", "VIEW", "WHENEVER", "WHERE", "WITH", "WORK", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "WRITE", "XML", "XMLEXISTS", "XMLPARSE", "XMLQUERY", "XMLSERIALIZE", "YEAR" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ + + public DerbyAdapter(String name) + { + super(name, VERSION); + } + + @Override + protected String getTypeName(IDBField field) + { + DBType type = field.getType(); + switch (type) + { + case TINYINT: + case BOOLEAN: + case BIT: + return "SMALLINT"; //$NON-NLS-1$ + + case LONGVARBINARY: + case VARBINARY: + case BINARY: + return "BLOB"; //$NON-NLS-1$ + } + + return super.getTypeName(field); + } + + public String[] getReservedWords() + { + return RESERVED_WORDS; + } + + @Override + public boolean isValidFirstChar(char ch) + { + switch (ch) + { + case '_': + return false; + + default: + return super.isValidFirstChar(ch); + } + } +} diff --git a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.java b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.java index cf9071f280..0adb73aaf2 100644 --- a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.java +++ b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.java @@ -1,42 +1,44 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.db.derby;
-
-import org.apache.derby.jdbc.EmbeddedDataSource;
-import org.apache.derby.jdbc.EmbeddedDriver;
-
-import javax.sql.DataSource;
-
-import java.sql.Driver;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public class EmbeddedDerbyAdapter extends DerbyAdapter
-{
- public static final String NAME = "derby-embedded"; //$NON-NLS-1$
-
- public EmbeddedDerbyAdapter()
- {
- super(NAME);
- }
-
- public Driver getJDBCDriver()
- {
- return new EmbeddedDriver();
- }
-
- public DataSource createJDBCDataSource()
- {
- return new EmbeddedDataSource();
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.db.derby; + +import org.apache.derby.jdbc.EmbeddedDataSource; +import org.apache.derby.jdbc.EmbeddedDriver; + +import javax.sql.DataSource; + +import java.sql.Driver; + +/** + * A {@link DerbyAdapter Derby adapter} for <a href="http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html">embedded</a> databases. + * + * @author Eike Stepper + * @since 2.0 + */ +public class EmbeddedDerbyAdapter extends DerbyAdapter +{ + public static final String NAME = "derby-embedded"; //$NON-NLS-1$ + + public EmbeddedDerbyAdapter() + { + super(NAME); + } + + public Driver getJDBCDriver() + { + return new EmbeddedDriver(); + } + + public DataSource createJDBCDataSource() + { + return new EmbeddedDataSource(); + } +} diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/index-all.html b/plugins/org.eclipse.net4j.db.doc/javadoc/index-all.html index 2b91dd020a..d438c70b64 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/index-all.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/index-all.html @@ -225,10 +225,13 @@ Constructor for exception org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/D <DT><A HREF="./org/eclipse/net4j/db/DBException.html#DBException(java.lang.String, java.lang.Throwable, java.lang.String)"><B>DBException(String, Throwable, String)</B></A> - Constructor for exception org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/DBException.html" title="class in org.eclipse.net4j.db">DBException</A> <DD> -<DT><A HREF="./org/eclipse/net4j/db/DBType.html" title="enum in org.eclipse.net4j.db"><B>DBType</B></A> - Enum in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>Enumerates the SQL data types that are compatible with the DB framework.<DT><A HREF="./org/eclipse/net4j/db/DBUtil.html" title="class in org.eclipse.net4j.db"><B>DBUtil</B></A> - Class in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>A utility class with various static factory and convenience methods.<DT><A HREF="./org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html" title="interface in org.eclipse.net4j.db"><B>DBUtil.DeserializeRowHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD> <DT><A HREF="./org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><B>DBUtil.RowHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD> <DT><A HREF="./org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html" title="interface in org.eclipse.net4j.db"><B>DBUtil.SerializeRowHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD> <DT><A HREF="./org/eclipse/net4j/db/ddl/IDBField.html#DEFAULT"><B>DEFAULT</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/DBType.html" title="enum in org.eclipse.net4j.db"><B>DBType</B></A> - Enum in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>Enumerates the SQL data types that are compatible with the DB framework.<DT><A HREF="./org/eclipse/net4j/db/DBUtil.html" title="class in org.eclipse.net4j.db"><B>DBUtil</B></A> - Class in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>A utility class with various static factory and convenience methods.<DT><A HREF="./org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html" title="interface in org.eclipse.net4j.db"><B>DBUtil.DeserializeRowHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>A <A HREF="./org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="./org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row deserialized within <A HREF="./org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor, org.eclipse.net4j.db.DBUtil.DeserializeRowHandler)"><CODE>DBUtil.deserializeTable()</CODE></A>.<DT><A HREF="./org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><B>DBUtil.RowHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>Call-back interface with a <A HREF="./org/eclipse/net4j/db/DBUtil.RowHandler.html#done(boolean)"><CODE>method</CODE></A> that is called <i>after</i> + a number of table rows have been handled by one of the subtypes of this interface.<DT><A HREF="./org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html" title="interface in org.eclipse.net4j.db"><B>DBUtil.SerializeRowHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/db/package-summary.html">org.eclipse.net4j.db</A><DD>A <A HREF="./org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="./org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row serialized within <A HREF="./org/eclipse/net4j/db/DBUtil.html#serializeTable(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, java.lang.String, java.lang.String, org.eclipse.net4j.db.DBUtil.SerializeRowHandler)"><CODE>DBUtil.serializeTable()</CODE></A>.<DT><A HREF="./org/eclipse/net4j/db/ddl/IDBField.html#DEFAULT"><B>DEFAULT</B></A> - Static variable in interface org.eclipse.net4j.db.ddl.<A HREF="./org/eclipse/net4j/db/ddl/IDBField.html" title="interface in org.eclipse.net4j.db.ddl">IDBField</A> <DD> -<DT><A HREF="./org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><B>DerbyAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/derby/package-summary.html">org.eclipse.net4j.db.derby</A><DD> <DT><A HREF="./org/eclipse/net4j/db/derby/DerbyAdapter.html#DerbyAdapter(java.lang.String)"><B>DerbyAdapter(String)</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><B>DerbyAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/derby/package-summary.html">org.eclipse.net4j.db.derby</A><DD>A <A HREF="./org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://db.apache.org/derby">Derby</a> databases.<DT><A HREF="./org/eclipse/net4j/db/derby/DerbyAdapter.html#DerbyAdapter(java.lang.String)"><B>DerbyAdapter(String)</B></A> - Constructor for class org.eclipse.net4j.db.derby.<A HREF="./org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">DerbyAdapter</A> <DD> <DT><A HREF="./org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor)"><B>deserializeTable(ExtendedDataInput, Connection, IDBTable, OMMonitor)</B></A> - @@ -263,7 +266,7 @@ Method in interface org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/IDBAdap <A NAME="_E_"><!-- --></A><H2> <B>E</B></H2> <DL> -<DT><A HREF="./org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><B>EmbeddedDerbyAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/derby/package-summary.html">org.eclipse.net4j.db.derby</A><DD> <DT><A HREF="./org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html#EmbeddedDerbyAdapter()"><B>EmbeddedDerbyAdapter()</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><B>EmbeddedDerbyAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/derby/package-summary.html">org.eclipse.net4j.db.derby</A><DD>A <A HREF="./org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><CODE>Derby adapter</CODE></A> for <a href="http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html">embedded</a> databases.<DT><A HREF="./org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html#EmbeddedDerbyAdapter()"><B>EmbeddedDerbyAdapter()</B></A> - Constructor for class org.eclipse.net4j.db.derby.<A HREF="./org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">EmbeddedDerbyAdapter</A> <DD> <DT><A HREF="./org/eclipse/net4j/db/DBUtil.html#executeBatch(java.sql.PreparedStatement, int)"><B>executeBatch(PreparedStatement, int)</B></A> - @@ -495,7 +498,7 @@ Method in interface org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/IDBAdap <A NAME="_H_"><!-- --></A><H2> <B>H</B></H2> <DL> -<DT><A HREF="./org/eclipse/net4j/db/h2/H2Adapter.html" title="class in org.eclipse.net4j.db.h2"><B>H2Adapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/h2/package-summary.html">org.eclipse.net4j.db.h2</A><DD> <DT><A HREF="./org/eclipse/net4j/db/h2/H2Adapter.html#H2Adapter()"><B>H2Adapter()</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/h2/H2Adapter.html" title="class in org.eclipse.net4j.db.h2"><B>H2Adapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/h2/package-summary.html">org.eclipse.net4j.db.h2</A><DD>A <A HREF="./org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.h2database.com/html/main.html">H2</a> databases.<DT><A HREF="./org/eclipse/net4j/db/h2/H2Adapter.html#H2Adapter()"><B>H2Adapter()</B></A> - Constructor for class org.eclipse.net4j.db.h2.<A HREF="./org/eclipse/net4j/db/h2/H2Adapter.html" title="class in org.eclipse.net4j.db.h2">H2Adapter</A> <DD> <DT><A HREF="./org/eclipse/net4j/db/IDBRowHandler.html#handle(int, java.lang.Object...)"><B>handle(int, Object...)</B></A> - @@ -507,10 +510,10 @@ Method in interface org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/DBUtil. <DT><A HREF="./org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><B>handleRow(ExtendedDataOutput, Connection, IDBField[], Object[])</B></A> - Method in interface org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.SerializeRowHandler</A> <DD> -<DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html" title="class in org.eclipse.net4j.db.hsqldb"><B>HSQLDBAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/hsqldb/package-summary.html">org.eclipse.net4j.db.hsqldb</A><DD> <DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html#HSQLDBAdapter()"><B>HSQLDBAdapter()</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html" title="class in org.eclipse.net4j.db.hsqldb"><B>HSQLDBAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/hsqldb/package-summary.html">org.eclipse.net4j.db.hsqldb</A><DD>A <A HREF="./org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://hsqldb.org/">HyperSQL</a> databases.<DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html#HSQLDBAdapter()"><B>HSQLDBAdapter()</B></A> - Constructor for class org.eclipse.net4j.db.hsqldb.<A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html" title="class in org.eclipse.net4j.db.hsqldb">HSQLDBAdapter</A> <DD> -<DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html" title="class in org.eclipse.net4j.db.hsqldb"><B>HSQLDBDataSource</B></A> - Class in <A HREF="./org/eclipse/net4j/db/hsqldb/package-summary.html">org.eclipse.net4j.db.hsqldb</A><DD> <DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html#HSQLDBDataSource()"><B>HSQLDBDataSource()</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html" title="class in org.eclipse.net4j.db.hsqldb"><B>HSQLDBDataSource</B></A> - Class in <A HREF="./org/eclipse/net4j/db/hsqldb/package-summary.html">org.eclipse.net4j.db.hsqldb</A><DD>An <CODE>HSQLDB data source</CODE> with a nicer <A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html#toString()"><CODE>HSQLDBDataSource.toString()</CODE></A> method.<DT><A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html#HSQLDBDataSource()"><B>HSQLDBDataSource()</B></A> - Constructor for class org.eclipse.net4j.db.hsqldb.<A HREF="./org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html" title="class in org.eclipse.net4j.db.hsqldb">HSQLDBDataSource</A> <DD> </DL> @@ -551,7 +554,7 @@ Method in interface org.eclipse.net4j.db.<A HREF="./org/eclipse/net4j/db/IDBAdap <A NAME="_M_"><!-- --></A><H2> <B>M</B></H2> <DL> -<DT><A HREF="./org/eclipse/net4j/db/mysql/MYSQLAdapter.html" title="class in org.eclipse.net4j.db.mysql"><B>MYSQLAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/mysql/package-summary.html">org.eclipse.net4j.db.mysql</A><DD> <DT><A HREF="./org/eclipse/net4j/db/mysql/MYSQLAdapter.html#MYSQLAdapter()"><B>MYSQLAdapter()</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/mysql/MYSQLAdapter.html" title="class in org.eclipse.net4j.db.mysql"><B>MYSQLAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/mysql/package-summary.html">org.eclipse.net4j.db.mysql</A><DD>A <A HREF="./org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.mysql.com/">MySQL</a> databases.<DT><A HREF="./org/eclipse/net4j/db/mysql/MYSQLAdapter.html#MYSQLAdapter()"><B>MYSQLAdapter()</B></A> - Constructor for class org.eclipse.net4j.db.mysql.<A HREF="./org/eclipse/net4j/db/mysql/MYSQLAdapter.html" title="class in org.eclipse.net4j.db.mysql">MYSQLAdapter</A> <DD> </DL> @@ -578,7 +581,7 @@ Static variable in class org.eclipse.net4j.db.postgresql.<A HREF="./org/eclipse/ <A NAME="_P_"><!-- --></A><H2> <B>P</B></H2> <DL> -<DT><A HREF="./org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html" title="class in org.eclipse.net4j.db.postgresql"><B>PostgreSQLAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/postgresql/package-summary.html">org.eclipse.net4j.db.postgresql</A><DD> <DT><A HREF="./org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html#PostgreSQLAdapter()"><B>PostgreSQLAdapter()</B></A> - +<DT><A HREF="./org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html" title="class in org.eclipse.net4j.db.postgresql"><B>PostgreSQLAdapter</B></A> - Class in <A HREF="./org/eclipse/net4j/db/postgresql/package-summary.html">org.eclipse.net4j.db.postgresql</A><DD>A <A HREF="./org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.postgresql.org/">PostgreSQL</a> databases.<DT><A HREF="./org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html#PostgreSQLAdapter()"><B>PostgreSQLAdapter()</B></A> - Constructor for class org.eclipse.net4j.db.postgresql.<A HREF="./org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html" title="class in org.eclipse.net4j.db.postgresql">PostgreSQLAdapter</A> <DD> </DL> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html index 74f19e9ce2..facccf99b2 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html @@ -113,6 +113,11 @@ Interface DBUtil.DeserializeRowHandler</H2> <P> +A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row deserialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor, org.eclipse.net4j.db.DBUtil.DeserializeRowHandler)"><CODE>DBUtil.deserializeTable()</CODE></A>. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>4.1</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.RowHandler.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.RowHandler.html index d43043409c..703b73417c 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.RowHandler.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.RowHandler.html @@ -113,6 +113,11 @@ Interface DBUtil.RowHandler</H2> <P> +Call-back interface with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html#done(boolean)"><CODE>method</CODE></A> that is called <i>after</i> + a number of table rows have been handled by one of the subtypes of this interface. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>4.1</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html index 52527af56c..394ea617c8 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html @@ -113,6 +113,11 @@ Interface DBUtil.SerializeRowHandler</H2> <P> +A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row serialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#serializeTable(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, java.lang.String, java.lang.String, org.eclipse.net4j.db.DBUtil.SerializeRowHandler)"><CODE>DBUtil.serializeTable()</CODE></A>. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>4.1</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.html index 50dfb23fb5..2e9c37923e 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/DBUtil.html @@ -132,7 +132,8 @@ A utility class with various static factory and convenience methods. <TD><CODE><B><A HREF="../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.DeserializeRowHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row deserialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor, org.eclipse.net4j.db.DBUtil.DeserializeRowHandler)"><CODE>DBUtil.deserializeTable()</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -140,7 +141,8 @@ A utility class with various static factory and convenience methods. <TD><CODE><B><A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.RowHandler</A></B></CODE> <BR> - </TD> + Call-back interface with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html#done(boolean)"><CODE>method</CODE></A> that is called <i>after</i> + a number of table rows have been handled by one of the subtypes of this interface.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -148,7 +150,8 @@ A utility class with various static factory and convenience methods. <TD><CODE><B><A HREF="../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.SerializeRowHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row serialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#serializeTable(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, java.lang.String, java.lang.String, org.eclipse.net4j.db.DBUtil.SerializeRowHandler)"><CODE>DBUtil.serializeTable()</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/DBUtil.RowHandler.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/DBUtil.RowHandler.html index 4740fae8cd..8634a50453 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/DBUtil.RowHandler.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/DBUtil.RowHandler.html @@ -116,7 +116,8 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" tit <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.DeserializeRowHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row deserialized within <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor, org.eclipse.net4j.db.DBUtil.DeserializeRowHandler)"><CODE>DBUtil.deserializeTable()</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -124,7 +125,8 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" tit <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.SerializeRowHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row serialized within <A HREF="../../../../../org/eclipse/net4j/db/DBUtil.html#serializeTable(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, java.lang.String, java.lang.String, org.eclipse.net4j.db.DBUtil.SerializeRowHandler)"><CODE>DBUtil.serializeTable()</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/IDBAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/IDBAdapter.html index 74548915d9..5561f5a4bb 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/IDBAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/class-use/IDBAdapter.html @@ -256,7 +256,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="int <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">DerbyAdapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://db.apache.org/derby">Derby</a> databases.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -264,7 +264,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="int <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">EmbeddedDerbyAdapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><CODE>Derby adapter</CODE></A> for <a href="http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html">embedded</a> databases.</TD> </TR> </TABLE> @@ -289,7 +289,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="int <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/h2/H2Adapter.html" title="class in org.eclipse.net4j.db.h2">H2Adapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.h2database.com/html/main.html">H2</a> databases.</TD> </TR> </TABLE> @@ -314,7 +314,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="int <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html" title="class in org.eclipse.net4j.db.hsqldb">HSQLDBAdapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://hsqldb.org/">HyperSQL</a> databases.</TD> </TR> </TABLE> @@ -339,7 +339,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="int <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/mysql/MYSQLAdapter.html" title="class in org.eclipse.net4j.db.mysql">MYSQLAdapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.mysql.com/">MySQL</a> databases.</TD> </TR> </TABLE> @@ -364,7 +364,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="int <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html" title="class in org.eclipse.net4j.db.postgresql">PostgreSQLAdapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.postgresql.org/">PostgreSQL</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/DerbyAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/DerbyAdapter.html index 80e878f989..1ad25ea180 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/DerbyAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/DerbyAdapter.html @@ -119,6 +119,10 @@ Class DerbyAdapter</H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://db.apache.org/derby">Derby</a> databases. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html index 53dabffc9c..319a1d1560 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html @@ -116,6 +116,10 @@ Class EmbeddedDerbyAdapter</H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><CODE>Derby adapter</CODE></A> for <a href="http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html">embedded</a> databases. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/class-use/DerbyAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/class-use/DerbyAdapter.html index ea4dc80e1b..97fb11d0f5 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/class-use/DerbyAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/class-use/DerbyAdapter.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">EmbeddedDerbyAdapter</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><CODE>Derby adapter</CODE></A> for <a href="http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html">embedded</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-summary.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-summary.html index 29ab21259e..34a903ec94 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-summary.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-summary.html @@ -102,11 +102,11 @@ The Net4j DB Framework support for Derby databases. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">DerbyAdapter</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://db.apache.org/derby">Derby</a> databases.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/derby/EmbeddedDerbyAdapter.html" title="class in org.eclipse.net4j.db.derby">EmbeddedDerbyAdapter</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/db/derby/DerbyAdapter.html" title="class in org.eclipse.net4j.db.derby"><CODE>Derby adapter</CODE></A> for <a href="http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html">embedded</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-use.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-use.html index 0f60707ee4..4864a3650d 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-use.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/derby/package-use.html @@ -106,7 +106,7 @@ Classes in <A HREF="../../../../../org/eclipse/net4j/db/derby/package-summary.ht <TD><B><A HREF="../../../../../org/eclipse/net4j/db/derby/class-use/DerbyAdapter.html#org.eclipse.net4j.db.derby"><B>DerbyAdapter</B></A></B> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://db.apache.org/derby">Derby</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/H2Adapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/H2Adapter.html index 4d8f62bb90..cd95f318e4 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/H2Adapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/H2Adapter.html @@ -115,6 +115,10 @@ Class H2Adapter</H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.h2database.com/html/main.html">H2</a> databases. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/package-summary.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/package-summary.html index b01d51c3d4..108ffc6f2a 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/package-summary.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/h2/package-summary.html @@ -101,7 +101,7 @@ The Net4j DB Framework support for H2 databases. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/h2/H2Adapter.html" title="class in org.eclipse.net4j.db.h2">H2Adapter</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.h2database.com/html/main.html">H2</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html index 0804801982..16a2027f54 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html @@ -115,6 +115,10 @@ Class HSQLDBAdapter</H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://hsqldb.org/">HyperSQL</a> databases. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html index 087095a7b5..85226efa6e 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html @@ -116,6 +116,10 @@ Class HSQLDBDataSource</H2> <P> +An <CODE>HSQLDB data source</CODE> with a nicer <A HREF="../../../../../org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html#toString()"><CODE>toString()</CODE></A> method. +<P> + +<P> <DL> <DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.eclipse.net4j.db.hsqldb.HSQLDBDataSource">Serialized Form</A></DL> <HR> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/package-summary.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/package-summary.html index 9b22550e86..ff35307ac9 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/package-summary.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/hsqldb/package-summary.html @@ -103,11 +103,11 @@ The Net4j DB Framework support for HSQLDB databases. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.html" title="class in org.eclipse.net4j.db.hsqldb">HSQLDBAdapter</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://hsqldb.org/">HyperSQL</a> databases.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html" title="class in org.eclipse.net4j.db.hsqldb">HSQLDBDataSource</A></B></TD> -<TD> </TD> +<TD>An <CODE>HSQLDB data source</CODE> with a nicer <A HREF="../../../../../org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.html#toString()"><CODE>HSQLDBDataSource.toString()</CODE></A> method.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/MYSQLAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/MYSQLAdapter.html index b7af722443..b1e4a0ce56 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/MYSQLAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/MYSQLAdapter.html @@ -115,6 +115,10 @@ Class MYSQLAdapter</H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.mysql.com/">MySQL</a> databases. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/package-summary.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/package-summary.html index 3453754492..b92418a497 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/package-summary.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/mysql/package-summary.html @@ -101,7 +101,7 @@ The Net4j DB Framework support for MYSQL databases. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/mysql/MYSQLAdapter.html" title="class in org.eclipse.net4j.db.mysql">MYSQLAdapter</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.mysql.com/">MySQL</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-summary.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-summary.html index 7b6ae74834..5eb44df775 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-summary.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-summary.html @@ -109,15 +109,18 @@ The Net4j DB framework. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.DeserializeRowHandler</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row deserialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor, org.eclipse.net4j.db.DBUtil.DeserializeRowHandler)"><CODE>DBUtil.deserializeTable()</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.RowHandler</A></B></TD> -<TD> </TD> +<TD>Call-back interface with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html#done(boolean)"><CODE>method</CODE></A> that is called <i>after</i> + a number of table rows have been handled by one of the subtypes of this interface.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html" title="interface in org.eclipse.net4j.db">DBUtil.SerializeRowHandler</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row serialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#serializeTable(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, java.lang.String, java.lang.String, org.eclipse.net4j.db.DBUtil.SerializeRowHandler)"><CODE>DBUtil.serializeTable()</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db">IDBAdapter</A></B></TD> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-use.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-use.html index b2bb3fd185..00309e78d3 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-use.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/package-use.html @@ -151,19 +151,22 @@ Classes in <A HREF="../../../../org/eclipse/net4j/db/package-summary.html">org.e <TD><B><A HREF="../../../../org/eclipse/net4j/db/class-use/DBUtil.DeserializeRowHandler.html#org.eclipse.net4j.db"><B>DBUtil.DeserializeRowHandler</B></A></B> <BR> - </TD> + A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.DeserializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row deserialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#deserializeTable(org.eclipse.net4j.util.io.ExtendedDataInput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, org.eclipse.net4j.util.om.monitor.OMMonitor, org.eclipse.net4j.db.DBUtil.DeserializeRowHandler)"><CODE>DBUtil.deserializeTable()</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../org/eclipse/net4j/db/class-use/DBUtil.RowHandler.html#org.eclipse.net4j.db"><B>DBUtil.RowHandler</B></A></B> <BR> - </TD> + Call-back interface with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html#done(boolean)"><CODE>method</CODE></A> that is called <i>after</i> + a number of table rows have been handled by one of the subtypes of this interface.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../org/eclipse/net4j/db/class-use/DBUtil.SerializeRowHandler.html#org.eclipse.net4j.db"><B>DBUtil.SerializeRowHandler</B></A></B> <BR> - </TD> + A <A HREF="../../../../org/eclipse/net4j/db/DBUtil.RowHandler.html" title="interface in org.eclipse.net4j.db"><CODE>row handler</CODE></A> with a <A HREF="../../../../org/eclipse/net4j/db/DBUtil.SerializeRowHandler.html#handleRow(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBField[], java.lang.Object[])"><CODE>method</CODE></A> + that is called once per row serialized within <A HREF="../../../../org/eclipse/net4j/db/DBUtil.html#serializeTable(org.eclipse.net4j.util.io.ExtendedDataOutput, java.sql.Connection, org.eclipse.net4j.db.ddl.IDBTable, java.lang.String, java.lang.String, org.eclipse.net4j.db.DBUtil.SerializeRowHandler)"><CODE>DBUtil.serializeTable()</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../org/eclipse/net4j/db/class-use/IDBAdapter.html#org.eclipse.net4j.db"><B>IDBAdapter</B></A></B> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html index 4c6bceeb24..dc556b6b88 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html @@ -115,6 +115,10 @@ Class PostgreSQLAdapter</H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.postgresql.org/">PostgreSQL</a> databases. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/package-summary.html b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/package-summary.html index 0ce77d7439..a601869817 100644 --- a/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/package-summary.html +++ b/plugins/org.eclipse.net4j.db.doc/javadoc/org/eclipse/net4j/db/postgresql/package-summary.html @@ -101,7 +101,7 @@ The Net4j DB Framework support for PostgreSQL databases. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.html" title="class in org.eclipse.net4j.db.postgresql">PostgreSQLAdapter</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/db/IDBAdapter.html" title="interface in org.eclipse.net4j.db"><CODE>DB adapter</CODE></A> for <a href="http://www.postgresql.org/">PostgreSQL</a> databases.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.db.h2/src/org/eclipse/net4j/db/h2/H2Adapter.java b/plugins/org.eclipse.net4j.db.h2/src/org/eclipse/net4j/db/h2/H2Adapter.java index de46b7975d..1640647857 100644 --- a/plugins/org.eclipse.net4j.db.h2/src/org/eclipse/net4j/db/h2/H2Adapter.java +++ b/plugins/org.eclipse.net4j.db.h2/src/org/eclipse/net4j/db/h2/H2Adapter.java @@ -11,6 +11,7 @@ package org.eclipse.net4j.db.h2; import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.IDBAdapter; import org.eclipse.net4j.db.ddl.IDBField; import org.eclipse.net4j.spi.db.DBAdapter; @@ -22,6 +23,8 @@ import java.sql.Driver; import java.sql.SQLException; /** + * A {@link IDBAdapter DB adapter} for <a href="http://www.h2database.com/html/main.html">H2</a> databases. + * * @author Eike Stepper * @since 2.0 */ diff --git a/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.java b/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.java index 202f9c2f0c..24ecbcd499 100644 --- a/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.java +++ b/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBAdapter.java @@ -1,98 +1,101 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.db.hsqldb;
-
-import org.eclipse.net4j.db.DBType;
-import org.eclipse.net4j.db.ddl.IDBField;
-import org.eclipse.net4j.spi.db.DBAdapter;
-
-import org.hsqldb.jdbcDriver;
-
-import javax.sql.DataSource;
-
-import java.sql.Driver;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public class HSQLDBAdapter extends DBAdapter
-{
- private static final String NAME = "hsqldb"; //$NON-NLS-1$
-
- public static final String VERSION = "1.8.0.8"; //$NON-NLS-1$
-
- public HSQLDBAdapter()
- {
- super(NAME, VERSION);
- }
-
- public Driver getJDBCDriver()
- {
- return new jdbcDriver();
- }
-
- public DataSource createJDBCDataSource()
- {
- return new HSQLDBDataSource();
- }
-
- @Override
- protected String getTypeName(IDBField field)
- {
- DBType type = field.getType();
- switch (type)
- {
- case BOOLEAN:
- case BIT:
- case TINYINT:
- case SMALLINT:
- case INTEGER:
- case BIGINT:
- case FLOAT:
- case REAL:
- case DOUBLE:
- case DATE:
- case TIME:
- case TIMESTAMP:
- return type.toString();
-
- case LONGVARCHAR:
- return "LONGVARCHAR"; //$NON-NLS-1$
-
- case LONGVARBINARY:
- return "LONGVARBINARY"; //$NON-NLS-1$
-
- case BLOB:
- return "LONGVARBINARY"; //$NON-NLS-1$
-
- case CLOB:
- return "LONGVARCHAR"; //$NON-NLS-1$
-
- case CHAR:
- case VARCHAR:
- case BINARY:
- case VARBINARY:
- return type.toString() + field.formatPrecision();
-
- case NUMERIC:
- case DECIMAL:
- return type.toString() + field.formatPrecisionAndScale();
- }
-
- return super.getTypeName(field);
- }
-
- public String[] getReservedWords()
- {
- return getSQL92ReservedWords();
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.db.hsqldb; + +import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.spi.db.DBAdapter; + +import org.hsqldb.jdbcDriver; + +import javax.sql.DataSource; + +import java.sql.Driver; + +/** + * A {@link IDBAdapter DB adapter} for <a href="http://hsqldb.org/">HyperSQL</a> databases. + * + * @author Eike Stepper + * @since 2.0 + */ +public class HSQLDBAdapter extends DBAdapter +{ + private static final String NAME = "hsqldb"; //$NON-NLS-1$ + + public static final String VERSION = "1.8.0.8"; //$NON-NLS-1$ + + public HSQLDBAdapter() + { + super(NAME, VERSION); + } + + public Driver getJDBCDriver() + { + return new jdbcDriver(); + } + + public DataSource createJDBCDataSource() + { + return new HSQLDBDataSource(); + } + + @Override + protected String getTypeName(IDBField field) + { + DBType type = field.getType(); + switch (type) + { + case BOOLEAN: + case BIT: + case TINYINT: + case SMALLINT: + case INTEGER: + case BIGINT: + case FLOAT: + case REAL: + case DOUBLE: + case DATE: + case TIME: + case TIMESTAMP: + return type.toString(); + + case LONGVARCHAR: + return "LONGVARCHAR"; //$NON-NLS-1$ + + case LONGVARBINARY: + return "LONGVARBINARY"; //$NON-NLS-1$ + + case BLOB: + return "LONGVARBINARY"; //$NON-NLS-1$ + + case CLOB: + return "LONGVARCHAR"; //$NON-NLS-1$ + + case CHAR: + case VARCHAR: + case BINARY: + case VARBINARY: + return type.toString() + field.formatPrecision(); + + case NUMERIC: + case DECIMAL: + return type.toString() + field.formatPrecisionAndScale(); + } + + return super.getTypeName(field); + } + + public String[] getReservedWords() + { + return getSQL92ReservedWords(); + } +} diff --git a/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.java b/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.java index 4fbaa18f12..f5f8844a72 100644 --- a/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.java +++ b/plugins/org.eclipse.net4j.db.hsqldb/src/org/eclipse/net4j/db/hsqldb/HSQLDBDataSource.java @@ -15,6 +15,8 @@ import org.hsqldb.jdbc.JDBCDataSource; import java.text.MessageFormat; /** + * An {@link JDBCDataSource HSQLDB data source} with a nicer {@link #toString()} method. + * * @author Eike Stepper */ public class HSQLDBDataSource extends JDBCDataSource diff --git a/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/mysql/MYSQLAdapter.java b/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/mysql/MYSQLAdapter.java index a1cca74201..a2257f17c4 100644 --- a/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/mysql/MYSQLAdapter.java +++ b/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/mysql/MYSQLAdapter.java @@ -1,160 +1,163 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.db.mysql;
-
-import org.eclipse.net4j.db.DBException;
-import org.eclipse.net4j.db.DBType;
-import org.eclipse.net4j.db.ddl.IDBField;
-import org.eclipse.net4j.spi.db.DBAdapter;
-
-import com.mysql.jdbc.Driver;
-import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
-
-import javax.sql.DataSource;
-
-import java.sql.SQLException;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public class MYSQLAdapter extends DBAdapter
-{
- public static final String NAME = "mysql"; //$NON-NLS-1$
-
- public static final String VERSION = "5.1.5"; //$NON-NLS-1$
-
- private static final String[] RESERVED_WORDS = {
- "ACCESSIBLE", "ACTION", "ADD", "ALL", "ALTER", "ANALYZE", "AND", "AS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "ASC", "ASENSITIVE", "BEFORE", "BETWEEN", "BIGINT", "BINARY", "BIT", "BLOB", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "BOTH", "BY", "CALL", "CASCADE", "CASE", "CHANGE", "CHAR", "CHARACTER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "CHECK", "COLLATE", "COLUMN", "COLUMNS", "CONDITION", "CONNECTION", "CONSTRAINT", "CONTINUE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "CONVERT", "CREATE", "CROSS", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "DATABASE", "DATABASES", "DATE", "DAY_HOUR", "DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DEC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "DECIMAL", "DECLARE", "DEFAULT", "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "DISTINCT", "DISTINCTROW", "DIV", "DOUBLE", "DROP", "DUAL", "EACH", "ELSE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "ELSEIF", "ENCLOSED", "ENUM", "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FALSE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "FETCH", "FIELDS", "FLOAT", "FLOAT4", "FLOAT8", "FOR", "FORCE", "FOREIGN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "FROM", "FULLTEXT", "GENERAL", "GOTO", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IF", "IGNORE", "IGNORE_SERVER_IDS", "IN", "INDEX", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "INFILE", "INNER", "INOUT", "INSENSITIVE", "INSERT", "INT", "INT1", "INT2", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "INT3", "INT4", "INT8", "INTEGER", "INTERVAL", "INTO", "IS", "ITERATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "JOIN", "KEY", "KEYS", "KILL", "LABEL", "LEADING", "LEAVE", "LEFT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "LIKE", "LIMIT", "LINEAR", "LINES", "LOAD", "LOCALTIME", "LOCALTIMESTAMP", "LOCK", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "MASTER_HEARTBEAT_PERIOD", "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "MAXVALUE", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MIDDLEINT", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MOD", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "MODIFIES", "NATURAL", "NO", "NOT", "NO_WRITE_TO_BINLOG", "NULL", "NUMERIC", "ON", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "OPTIMIZE", "OPTION", "OPTIONALLY", "OR", "ORDER", "OUT", "OUTER", "OUTFILE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "PRECISION", "PRIMARY", "PRIVILEGES", "PROCEDURE", "PURGE", "RAID0", "RANGE", "READ", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "READS", "READ_WRITE", "REAL", "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPEAT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "REPLACE", "REQUIRE", "RESIGNAL", "RESTRICT", "RETURN", "REVOKE", "RIGHT", "RLIKE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "SCHEMA", "SCHEMAS", "SECOND_MICROSECOND", "SELECT", "SENSITIVE", "SEPARATOR", "SET", "SHOW", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "SIGNAL", "SLOW", "SMALLINT", "SONAME", "SPATIAL", "SPECIFIC", "SQL", "SQL_BIG_RESULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "SQL_CALC_FOUND_ROWS", "SQLEXCEPTION", "SQL_SMALL_RESULT", "SQLSTATE", "SQLWARNING", "SSL", "STARTING", "STRAIGHT_JOIN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "TABLE", "TABLES", "TERMINATED", "TEXT", "THEN", "TIME", "TIMESTAMP", "TINYBLOB", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "TINYINT", "TINYTEXT", "TO", "TRAILING", "TRIGGER", "TRUE", "UNDO", "UNION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "UNIQUE", "UNLOCK", "UNSIGNED", "UPDATE", "UPGRADE", "USAGE", "USE", "USING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VALUES", "VARBINARY", "VARCHAR", "VARCHARACTER", "VARYING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "WHEN", "WHERE", "WHILE", "WITH", "WRITE", "X509", "XOR", "YEAR_MONTH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "ZEROFILL" }; //$NON-NLS-1$
-
- public MYSQLAdapter()
- {
- super(NAME, VERSION);
- }
-
- public Driver getJDBCDriver()
- {
- try
- {
- return new Driver();
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- }
-
- public DataSource createJDBCDataSource()
- {
- return new MysqlDataSource();
- }
-
- /**
- * @since 2.0
- */
- @Override
- public int getMaxTableNameLength()
- {
- return 64;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public int getMaxFieldNameLength()
- {
- return 64;
- }
-
- @Override
- protected String getTypeName(IDBField field)
- {
- DBType type = field.getType();
- switch (type)
- {
- case VARCHAR:
- case CLOB:
- return "LONGTEXT"; //$NON-NLS-1$
- case BLOB:
- return "LONGBLOB"; //$NON-NLS-1$
- }
-
- return super.getTypeName(field);
- }
-
- @Override
- protected void addIndexField(StringBuilder builder, IDBField field)
- {
- super.addIndexField(builder, field);
- if (field.getType() == DBType.VARCHAR)
- {
- builder.append("("); //$NON-NLS-1$
- builder.append(field.getPrecision());
- builder.append(")"); //$NON-NLS-1$
- }
- }
-
- public String[] getReservedWords()
- {
- return RESERVED_WORDS;
- }
-
- @Override
- public boolean isTypeIndexable(DBType type)
- {
- switch (type)
- {
- case VARCHAR:
- return false;
-
- default:
- return super.isTypeIndexable(type);
- }
- }
-
- @Override
- public boolean isDuplicateKeyException(SQLException ex)
- {
- return "23000".equals(ex.getSQLState());
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.db.mysql; + +import org.eclipse.net4j.db.DBException; +import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.spi.db.DBAdapter; + +import com.mysql.jdbc.Driver; +import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; + +import javax.sql.DataSource; + +import java.sql.SQLException; + +/** + * A {@link IDBAdapter DB adapter} for <a href="http://www.mysql.com/">MySQL</a> databases. + * + * @author Eike Stepper + * @since 2.0 + */ +public class MYSQLAdapter extends DBAdapter +{ + public static final String NAME = "mysql"; //$NON-NLS-1$ + + public static final String VERSION = "5.1.5"; //$NON-NLS-1$ + + private static final String[] RESERVED_WORDS = { + "ACCESSIBLE", "ACTION", "ADD", "ALL", "ALTER", "ANALYZE", "AND", "AS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "ASC", "ASENSITIVE", "BEFORE", "BETWEEN", "BIGINT", "BINARY", "BIT", "BLOB", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "BOTH", "BY", "CALL", "CASCADE", "CASE", "CHANGE", "CHAR", "CHARACTER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "CHECK", "COLLATE", "COLUMN", "COLUMNS", "CONDITION", "CONNECTION", "CONSTRAINT", "CONTINUE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "CONVERT", "CREATE", "CROSS", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "DATABASE", "DATABASES", "DATE", "DAY_HOUR", "DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DEC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "DECIMAL", "DECLARE", "DEFAULT", "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "DISTINCT", "DISTINCTROW", "DIV", "DOUBLE", "DROP", "DUAL", "EACH", "ELSE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "ELSEIF", "ENCLOSED", "ENUM", "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FALSE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "FETCH", "FIELDS", "FLOAT", "FLOAT4", "FLOAT8", "FOR", "FORCE", "FOREIGN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "FROM", "FULLTEXT", "GENERAL", "GOTO", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IF", "IGNORE", "IGNORE_SERVER_IDS", "IN", "INDEX", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "INFILE", "INNER", "INOUT", "INSENSITIVE", "INSERT", "INT", "INT1", "INT2", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "INT3", "INT4", "INT8", "INTEGER", "INTERVAL", "INTO", "IS", "ITERATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "JOIN", "KEY", "KEYS", "KILL", "LABEL", "LEADING", "LEAVE", "LEFT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "LIKE", "LIMIT", "LINEAR", "LINES", "LOAD", "LOCALTIME", "LOCALTIMESTAMP", "LOCK", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "MASTER_HEARTBEAT_PERIOD", "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "MAXVALUE", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MIDDLEINT", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MOD", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "MODIFIES", "NATURAL", "NO", "NOT", "NO_WRITE_TO_BINLOG", "NULL", "NUMERIC", "ON", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "OPTIMIZE", "OPTION", "OPTIONALLY", "OR", "ORDER", "OUT", "OUTER", "OUTFILE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "PRECISION", "PRIMARY", "PRIVILEGES", "PROCEDURE", "PURGE", "RAID0", "RANGE", "READ", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "READS", "READ_WRITE", "REAL", "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPEAT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "REPLACE", "REQUIRE", "RESIGNAL", "RESTRICT", "RETURN", "REVOKE", "RIGHT", "RLIKE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "SCHEMA", "SCHEMAS", "SECOND_MICROSECOND", "SELECT", "SENSITIVE", "SEPARATOR", "SET", "SHOW", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "SIGNAL", "SLOW", "SMALLINT", "SONAME", "SPATIAL", "SPECIFIC", "SQL", "SQL_BIG_RESULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "SQL_CALC_FOUND_ROWS", "SQLEXCEPTION", "SQL_SMALL_RESULT", "SQLSTATE", "SQLWARNING", "SSL", "STARTING", "STRAIGHT_JOIN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "TABLE", "TABLES", "TERMINATED", "TEXT", "THEN", "TIME", "TIMESTAMP", "TINYBLOB", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "TINYINT", "TINYTEXT", "TO", "TRAILING", "TRIGGER", "TRUE", "UNDO", "UNION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "UNIQUE", "UNLOCK", "UNSIGNED", "UPDATE", "UPGRADE", "USAGE", "USE", "USING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VALUES", "VARBINARY", "VARCHAR", "VARCHARACTER", "VARYING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "WHEN", "WHERE", "WHILE", "WITH", "WRITE", "X509", "XOR", "YEAR_MONTH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "ZEROFILL" }; //$NON-NLS-1$ + + public MYSQLAdapter() + { + super(NAME, VERSION); + } + + public Driver getJDBCDriver() + { + try + { + return new Driver(); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + } + + public DataSource createJDBCDataSource() + { + return new MysqlDataSource(); + } + + /** + * @since 2.0 + */ + @Override + public int getMaxTableNameLength() + { + return 64; + } + + /** + * @since 2.0 + */ + @Override + public int getMaxFieldNameLength() + { + return 64; + } + + @Override + protected String getTypeName(IDBField field) + { + DBType type = field.getType(); + switch (type) + { + case VARCHAR: + case CLOB: + return "LONGTEXT"; //$NON-NLS-1$ + case BLOB: + return "LONGBLOB"; //$NON-NLS-1$ + } + + return super.getTypeName(field); + } + + @Override + protected void addIndexField(StringBuilder builder, IDBField field) + { + super.addIndexField(builder, field); + if (field.getType() == DBType.VARCHAR) + { + builder.append("("); //$NON-NLS-1$ + builder.append(field.getPrecision()); + builder.append(")"); //$NON-NLS-1$ + } + } + + public String[] getReservedWords() + { + return RESERVED_WORDS; + } + + @Override + public boolean isTypeIndexable(DBType type) + { + switch (type) + { + case VARCHAR: + return false; + + default: + return super.isTypeIndexable(type); + } + } + + @Override + public boolean isDuplicateKeyException(SQLException ex) + { + return "23000".equals(ex.getSQLState()); + } +} diff --git a/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java b/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java index 524698581a..fae3e1f67e 100644 --- a/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java +++ b/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java @@ -1,182 +1,185 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Victor Roldan Betancort - initial API and implementation
- * Eike Stepper - maintenance
- * Stefan Winkler - Bug 276979
- * Stefan Winkler - Bug 289445
- */
-package org.eclipse.net4j.db.postgresql;
-
-import org.eclipse.net4j.db.DBException;
-import org.eclipse.net4j.db.DBType;
-import org.eclipse.net4j.db.ddl.IDBField;
-import org.eclipse.net4j.db.ddl.IDBTable;
-import org.eclipse.net4j.db.internal.postgresql.bundle.OM;
-import org.eclipse.net4j.spi.db.DBAdapter;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-
-import org.postgresql.Driver;
-import org.postgresql.ds.PGSimpleDataSource;
-
-import javax.sql.DataSource;
-
-import java.sql.SQLException;
-import java.sql.Savepoint;
-import java.sql.Statement;
-
-/**
- * @author Victor Roldan Betancort
- */
-public class PostgreSQLAdapter extends DBAdapter
-{
- public static final String NAME = "postgresql"; //$NON-NLS-1$
-
- public static final String VERSION = "8.3"; //$NON-NLS-1$
-
- private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SQL, DBAdapter.class);
-
- private static final String[] RESERVED_WORDS = { "ALL", "ANALYSE", "ANALYZE", "AND", "ANY", "AS", "ASC", "ATOMIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "AUTHORIZATION", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN", "BOTH", "C", "CASE", "CAST", "CHAR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "CHARACTER", "CHECK", "COALESCE", "COLLATE", "COLUMN", "CONSTRAINT", "CONVERT", "CREATE", "CROSS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "DEC", "DECIMAL", "DEFAULT", "DEFERRABLE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "DESC", "DISTINCT", "DO", "ELSE", "END", "EXCEPT", "EXECUTE", "EXISTS", "EXTRACT", "FALSE", "FLOAT", "FOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "FOREIGN", "FREEZE", "FROM", "FULL", "GRANT", "GROUP", "HAVING", "ILIKE", "IN", "INITIALLY", "INNER", "INT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "INTEGER", "INTERSECT", "INTERVAL", "INTO", "IS", "ISNULL", "JOIN", "LEADING", "LEFT", "LIKE", "LIMIT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "LOCALTIME", "LOCALTIMESTAMP", "NATURAL", "NCHAR", "NCLOB", "NEW", "NONE", "NOT", "NOTNULL", "NULL", "NULLIF", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "NUMERIC", "OFF", "OFFSET", "OLD", "ON", "ONLY", "OR", "ORDER", "OUTER", "OVERLAPS", "OVERLAY", "PLACING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
- "POSITION", "PRIMARY", "REAL", "RECHECK", "REFERENCES", "RIGHT", "ROW", "SELECT", "SESSION_USER", "SETOF", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- "SIMILAR", "SMALLINT", "SOME", "SUBSTRING", "TABLE", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING", "TREAT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
- "TRIM", "TRUE", "UNION", "UNIQUE", "USER", "USING", "VARCHAR", "VERBOSE", "WHEN", "WHERE" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
-
- public PostgreSQLAdapter()
- {
- super(NAME, VERSION);
- }
-
- public Driver getJDBCDriver()
- {
- return new Driver();
- }
-
- public DataSource createJDBCDataSource()
- {
- return new PGSimpleDataSource();
- }
-
- /**
- * @since 2.0
- */
- @Override
- public int getMaxTableNameLength()
- {
- // http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html
- return 63;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public int getMaxFieldNameLength()
- {
- // http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html
- return 63;
- }
-
- @Override
- protected String getTypeName(IDBField field)
- {
- DBType type = field.getType();
- switch (type)
- {
- case LONGVARCHAR:
- case VARCHAR:
- case CLOB:
- return "text"; //$NON-NLS-1$
- case VARBINARY:
- case BLOB:
- return "bytea"; //$NON-NLS-1$
- case DOUBLE:
- return "double precision"; //$NON-NLS-1$
- }
-
- return super.getTypeName(field);
- }
-
- public String[] getReservedWords()
- {
- return RESERVED_WORDS;
- }
-
- /*
- * TODO Remove this method override after fixing Bug 282791 - [DB] Check for existing tables instead of relying on
- * SQLExceptions PostgreSQL uses transaction on DDL operations. If an error occurs, the SQL Connection goes to an
- * error state, and can only be cleared by rolling back. Therefore, savepoints for table creation were added
- */
- @Override
- public boolean createTable(IDBTable table, Statement statement) throws DBException
- {
- boolean created = true;
- Savepoint savepoint = null;
-
- try
- {
- savepoint = statement.getConnection().setSavepoint();
- }
- catch (SQLException ex)
- {
- OM.LOG.error(ex);
- }
-
- try
- {
- doCreateTable(table, statement);
- }
- catch (SQLException ex)
- {
- created = false;
- if (TRACER.isEnabled())
- {
- TRACER.trace("-- " + ex.getMessage() + ". Trying to rollback operation"); //$NON-NLS-1$
- }
-
- if (savepoint != null)
- {
- try
- {
- statement.getConnection().rollback(savepoint);
- }
- catch (SQLException ex1)
- {
- OM.LOG.error(ex1);
- }
- }
- else
- {
- OM.LOG.error("Could not rollback last operation. Savepoint was not created."); //$NON-NLS-1$
- }
- }
-
- validateTable(table, statement);
- return created;
- }
-
- @Override
- public DBType adaptType(DBType type)
- {
- switch (type)
- {
- // Due to Bug 289194: [DB] BLOB not correctly handled by PostgreSQL DBAdapter
- case BLOB:
- return DBType.VARBINARY;
- }
-
- return super.adaptType(type);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Victor Roldan Betancort - initial API and implementation + * Eike Stepper - maintenance + * Stefan Winkler - Bug 276979 + * Stefan Winkler - Bug 289445 + */ +package org.eclipse.net4j.db.postgresql; + +import org.eclipse.net4j.db.DBException; +import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.db.ddl.IDBTable; +import org.eclipse.net4j.db.internal.postgresql.bundle.OM; +import org.eclipse.net4j.spi.db.DBAdapter; +import org.eclipse.net4j.util.om.trace.ContextTracer; + +import org.postgresql.Driver; +import org.postgresql.ds.PGSimpleDataSource; + +import javax.sql.DataSource; + +import java.sql.SQLException; +import java.sql.Savepoint; +import java.sql.Statement; + +/** + * A {@link IDBAdapter DB adapter} for <a href="http://www.postgresql.org/">PostgreSQL</a> databases. + * + * @author Victor Roldan Betancort + */ +public class PostgreSQLAdapter extends DBAdapter +{ + public static final String NAME = "postgresql"; //$NON-NLS-1$ + + public static final String VERSION = "8.3"; //$NON-NLS-1$ + + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SQL, DBAdapter.class); + + private static final String[] RESERVED_WORDS = { "ALL", "ANALYSE", "ANALYZE", "AND", "ANY", "AS", "ASC", "ATOMIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "AUTHORIZATION", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN", "BOTH", "C", "CASE", "CAST", "CHAR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "CHARACTER", "CHECK", "COALESCE", "COLLATE", "COLUMN", "CONSTRAINT", "CONVERT", "CREATE", "CROSS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "DEC", "DECIMAL", "DEFAULT", "DEFERRABLE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + "DESC", "DISTINCT", "DO", "ELSE", "END", "EXCEPT", "EXECUTE", "EXISTS", "EXTRACT", "FALSE", "FLOAT", "FOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "FOREIGN", "FREEZE", "FROM", "FULL", "GRANT", "GROUP", "HAVING", "ILIKE", "IN", "INITIALLY", "INNER", "INT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "INTEGER", "INTERSECT", "INTERVAL", "INTO", "IS", "ISNULL", "JOIN", "LEADING", "LEFT", "LIKE", "LIMIT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "LOCALTIME", "LOCALTIMESTAMP", "NATURAL", "NCHAR", "NCLOB", "NEW", "NONE", "NOT", "NOTNULL", "NULL", "NULLIF", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "NUMERIC", "OFF", "OFFSET", "OLD", "ON", "ONLY", "OR", "ORDER", "OUTER", "OVERLAPS", "OVERLAY", "PLACING", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ + "POSITION", "PRIMARY", "REAL", "RECHECK", "REFERENCES", "RIGHT", "ROW", "SELECT", "SESSION_USER", "SETOF", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "SIMILAR", "SMALLINT", "SOME", "SUBSTRING", "TABLE", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING", "TREAT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ + "TRIM", "TRUE", "UNION", "UNIQUE", "USER", "USING", "VARCHAR", "VERBOSE", "WHEN", "WHERE" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + + public PostgreSQLAdapter() + { + super(NAME, VERSION); + } + + public Driver getJDBCDriver() + { + return new Driver(); + } + + public DataSource createJDBCDataSource() + { + return new PGSimpleDataSource(); + } + + /** + * @since 2.0 + */ + @Override + public int getMaxTableNameLength() + { + // http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html + return 63; + } + + /** + * @since 2.0 + */ + @Override + public int getMaxFieldNameLength() + { + // http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html + return 63; + } + + @Override + protected String getTypeName(IDBField field) + { + DBType type = field.getType(); + switch (type) + { + case LONGVARCHAR: + case VARCHAR: + case CLOB: + return "text"; //$NON-NLS-1$ + case VARBINARY: + case BLOB: + return "bytea"; //$NON-NLS-1$ + case DOUBLE: + return "double precision"; //$NON-NLS-1$ + } + + return super.getTypeName(field); + } + + public String[] getReservedWords() + { + return RESERVED_WORDS; + } + + /* + * TODO Remove this method override after fixing Bug 282791 - [DB] Check for existing tables instead of relying on + * SQLExceptions PostgreSQL uses transaction on DDL operations. If an error occurs, the SQL Connection goes to an + * error state, and can only be cleared by rolling back. Therefore, savepoints for table creation were added + */ + @Override + public boolean createTable(IDBTable table, Statement statement) throws DBException + { + boolean created = true; + Savepoint savepoint = null; + + try + { + savepoint = statement.getConnection().setSavepoint(); + } + catch (SQLException ex) + { + OM.LOG.error(ex); + } + + try + { + doCreateTable(table, statement); + } + catch (SQLException ex) + { + created = false; + if (TRACER.isEnabled()) + { + TRACER.trace("-- " + ex.getMessage() + ". Trying to rollback operation"); //$NON-NLS-1$ + } + + if (savepoint != null) + { + try + { + statement.getConnection().rollback(savepoint); + } + catch (SQLException ex1) + { + OM.LOG.error(ex1); + } + } + else + { + OM.LOG.error("Could not rollback last operation. Savepoint was not created."); //$NON-NLS-1$ + } + } + + validateTable(table, statement); + return created; + } + + @Override + public DBType adaptType(DBType type) + { + switch (type) + { + // Due to Bug 289194: [DB] BLOB not correctly handled by PostgreSQL DBAdapter + case BLOB: + return DBType.VARBINARY; + } + + return super.adaptType(type); + } +} diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java index fcc778a09b..81903d1fa7 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java @@ -1,1080 +1,1089 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.db;
-
-import org.eclipse.net4j.db.ddl.IDBField;
-import org.eclipse.net4j.db.ddl.IDBSchema;
-import org.eclipse.net4j.db.ddl.IDBTable;
-import org.eclipse.net4j.internal.db.DataSourceConnectionProvider;
-import org.eclipse.net4j.internal.db.bundle.OM;
-import org.eclipse.net4j.spi.db.DBSchema;
-import org.eclipse.net4j.util.ReflectUtil;
-import org.eclipse.net4j.util.io.ExtendedDataInput;
-import org.eclipse.net4j.util.io.ExtendedDataOutput;
-import org.eclipse.net4j.util.om.monitor.OMMonitor;
-import org.eclipse.net4j.util.om.monitor.OMMonitor.Async;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-
-import javax.sql.DataSource;
-
-import java.io.IOException;
-import java.sql.Blob;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A utility class with various static factory and convenience methods.
- *
- * @author Eike Stepper
- */
-public final class DBUtil
-{
- private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SQL, DBUtil.class);
-
- private DBUtil()
- {
- }
-
- /**
- * For debugging purposes ONLY!
- *
- * @deprecated Should only be used when debugging.
- * @since 3.0
- */
- @Deprecated
- public static void sqlDump(Connection conn, String sql)
- {
- ResultSet rs = null;
-
- try
- {
- TRACER.format("Dumping output of {0}", sql); //$NON-NLS-1$
- rs = conn.createStatement().executeQuery(sql);
- int numCol = rs.getMetaData().getColumnCount();
-
- StringBuilder row = new StringBuilder();
- for (int c = 1; c <= numCol; c++)
- {
- row.append(String.format("%10s | ", rs.getMetaData().getColumnLabel(c))); //$NON-NLS-1$
- }
-
- TRACER.trace(row.toString());
-
- row = new StringBuilder();
- for (int c = 1; c <= numCol; c++)
- {
- row.append("-----------+--"); //$NON-NLS-1$
- }
-
- TRACER.trace(row.toString());
-
- while (rs.next())
- {
- row = new StringBuilder();
- for (int c = 1; c <= numCol; c++)
- {
- row.append(String.format("%10s | ", rs.getString(c))); //$NON-NLS-1$
- }
-
- TRACER.trace(row.toString());
- }
-
- row = new StringBuilder();
- for (int c = 1; c <= numCol; c++)
- {
- row.append("-----------+-"); //$NON-NLS-1$
- }
-
- TRACER.trace(row.toString());
- }
- catch (SQLException ex)
- {
- // Do nothing
- }
- finally
- {
- close(rs);
- }
- }
-
- /**
- * For debugging purposes ONLY!
- *
- * @deprecated Should only be used when debugging.
- * @since 3.0
- */
- @Deprecated
- public static void sqlDump(IDBConnectionProvider connectionProvider, String sql)
- {
- Connection connection = connectionProvider.getConnection();
-
- try
- {
- sqlDump(connection, sql);
- }
- finally
- {
- close(connection);
- }
- }
-
- public static IDBSchema createSchema(String name)
- {
- return new DBSchema(name);
- }
-
- public static DataSource createDataSource(Map<Object, Object> properties)
- {
- return createDataSource(properties, null);
- }
-
- public static DataSource createDataSource(Map<Object, Object> properties, String namespace)
- {
- return createDataSource(properties, namespace, "class"); //$NON-NLS-1$
- }
-
- public static DataSource createDataSource(Map<Object, Object> properties, String namespace, String driverClassKey)
- {
- try
- {
- return (DataSource)ReflectUtil.instantiate(properties, namespace, driverClassKey, OM.class.getClassLoader());
- }
- catch (Exception ex)
- {
- throw new DBException(ex);
- }
- }
-
- public static IDBConnectionProvider createConnectionProvider(DataSource dataSource)
- {
- return new DataSourceConnectionProvider(dataSource);
- }
-
- /**
- * Can only be used when Eclipse is running. In standalone scenarios create the adapter instance by directly calling
- * the constructor of the adapter class.
- */
- public static IDBAdapter getDBAdapter(String adapterName)
- {
- return IDBAdapter.REGISTRY.get(adapterName);
- }
-
- public static Exception close(Connection connection)
- {
- if (connection != null)
- {
- try
- {
- // Only for connections with autoCommit = false, we try a rollback
- // first to clear any open transactions.
- if (!connection.getAutoCommit())
- {
- rollback(connection);
- }
-
- connection.close();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- return ex;
- }
- }
-
- return null;
- }
-
- private static void rollback(Connection connection)
- {
- try
- {
- connection.rollback();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- }
- }
-
- public static Exception close(Statement statement)
- {
- if (statement != null)
- {
- try
- {
- statement.close();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- return ex;
- }
- }
-
- return null;
- }
-
- public static Exception close(ResultSet resultSet)
- {
- if (resultSet != null)
- {
- try
- {
- Statement statement = resultSet.getStatement();
- if (statement != null && statement.getMaxRows() != 0)
- {
- statement.setMaxRows(0);
- }
- }
- catch (Exception ignore)
- {
- }
-
- try
- {
- resultSet.close();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- return ex;
- }
- }
-
- return null;
- }
-
- /**
- * @since 3.0
- */
- public static List<String> getAllSchemaTableNames(Connection connection)
- {
- try
- {
- DatabaseMetaData metaData = connection.getMetaData();
- return getAllSchemaTableNames(metaData);
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- }
-
- /**
- * @since 3.0
- */
- public static List<String> getAllSchemaTableNames(DatabaseMetaData metaData)
- {
- ResultSet schemas = null;
-
- try
- {
- List<String> names = new ArrayList<String>();
- schemas = metaData.getSchemas();
- while (schemas.next())
- {
- String name = schemas.getString(1);
- names.add(name);
- }
-
- return names;
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(schemas);
- }
- }
-
- public static List<String> getAllTableNames(Connection connection, String dbName)
- {
- ResultSet tables = null;
-
- try
- {
- List<String> names = new ArrayList<String>();
- DatabaseMetaData metaData = connection.getMetaData();
- if (dbName != null)
- {
- dbName = dbName.toUpperCase();
- List<String> schemaNames = getAllSchemaTableNames(metaData);
- if (!schemaNames.contains(dbName))
- {
- dbName = null;
- }
- }
-
- tables = metaData.getTables(null, dbName, null, new String[] { "TABLE" }); //$NON-NLS-1$
- while (tables.next())
- {
- String name = tables.getString(3);
- // System.out.println(tables.getString(2) + "." + name);
- names.add(name);
- }
-
- return names;
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(tables);
- }
- }
-
- /**
- * @since 4.0
- */
- public static List<Exception> dropAllTables(Connection connection, String dbName)
- {
- List<Exception> exceptions = new ArrayList<Exception>();
- Statement statement = null;
-
- try
- {
- statement = connection.createStatement();
- for (String tableName : DBUtil.getAllTableNames(connection, dbName))
- {
- String sql = "DROP TABLE " + tableName; //$NON-NLS-1$
- trace(sql);
-
- try
- {
- statement.execute(sql);
- }
- catch (SQLException ex)
- {
- exceptions.add(ex);
- }
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- DBUtil.close(statement);
- }
-
- return exceptions;
- }
-
- /**
- * @since 3.0
- */
- public static int selectMinimumInt(Connection connection, IDBField field, String... where) throws DBException
- {
- Number number = getFunctionResult(connection, field, "MIN", where); //$NON-NLS-1$
- if (number instanceof Integer)
- {
- return (Integer)number;
- }
- else if (number == null)
- {
- return 0;
- }
-
- throw new DBException("Not an integer number: " + number); //$NON-NLS-1$
- }
-
- /**
- * @since 3.0
- */
- public static long selectMinimumLong(Connection connection, IDBField field, String... where) throws DBException
- {
- Number number = getFunctionResult(connection, field, "MIN", where); //$NON-NLS-1$
- if (number instanceof Long)
- {
- return (Long)number;
- }
- else if (number == null)
- {
- return 0L;
- }
-
- throw new DBException("Not a long number: " + number); //$NON-NLS-1$
- }
-
- /**
- * @since 3.0
- */
- public static int selectMaximumInt(Connection connection, IDBField field, String... where) throws DBException
- {
- Number number = getFunctionResult(connection, field, "MAX", where); //$NON-NLS-1$
- if (number instanceof Integer)
- {
- return (Integer)number;
- }
- else if (number == null)
- {
- return 0;
- }
-
- throw new DBException("Not an integer number: " + number); //$NON-NLS-1$
- }
-
- /**
- * @since 3.0
- */
- public static long selectMaximumLong(Connection connection, IDBField field, String... where) throws DBException
- {
- Number number = getFunctionResult(connection, field, "MAX", where); //$NON-NLS-1$
- if (number instanceof Long)
- {
- return (Long)number;
- }
- else if (number == null)
- {
- return 0L;
- }
-
- throw new DBException("Not a long number: " + number); //$NON-NLS-1$
- }
-
- private static Number getFunctionResult(Connection connection, IDBField field, String function, String... where)
- throws DBException
- {
- StringBuilder builder = new StringBuilder();
- builder.append("SELECT "); //$NON-NLS-1$
- builder.append(function);
- builder.append("("); //$NON-NLS-1$
- builder.append(field);
- builder.append(") FROM "); //$NON-NLS-1$
- builder.append(field.getTable());
-
- for (int i = 0; i < where.length; i++)
- {
- if (i == 0)
- {
- builder.append(" WHERE "); //$NON-NLS-1$
- }
- else
- {
- builder.append(" AND "); //$NON-NLS-1$
- }
-
- builder.append("("); //$NON-NLS-1$
- builder.append(where[i]);
- builder.append(")"); //$NON-NLS-1$
- }
-
- String sql = trace(builder.toString());
- Statement statement = null;
- ResultSet resultSet = null;
-
- try
- {
- statement = connection.createStatement();
-
- try
- {
- resultSet = statement.executeQuery(sql);
- if (!resultSet.next())
- {
- return null;
- }
-
- return (Number)resultSet.getObject(1);
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(resultSet);
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(statement);
- }
- }
-
- /**
- * @since 4.1
- */
- public static void executeBatch(PreparedStatement stmt, int counter)
- {
- executeBatch(stmt, counter, true);
- }
-
- /**
- * @since 4.1
- */
- public static void executeBatch(PreparedStatement stmt, int counter, boolean checkExactlyOne)
- {
- try
- {
- int[] results = stmt.executeBatch();
- if (results.length != counter)
- {
- throw new DBException("Statement has " + results.length + " results (expected: " + counter + ")");
- }
-
- for (int i = 0; i < results.length; i++)
- {
- int result = results[i];
- if (result < 0 && result != Statement.SUCCESS_NO_INFO)
- {
- throw new DBException("Result " + i + " is not successful: " + result);
- }
- else if (checkExactlyOne && result != 1)
- {
- throw new DBException("Result " + i + " did not affect exactly one row: " + result);
- }
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- }
-
- public static int update(Connection connection, String sql)
- {
- trace(sql);
- Statement statement = null;
-
- try
- {
- statement = connection.createStatement();
- return statement.executeUpdate(sql);
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(statement);
- }
- }
-
- /**
- * Execute update on the given prepared statement and handle common cases of return values.
- *
- * @param stmt
- * the prepared statement
- * @param exactlyOne
- * if <code>true</code>, the update count is checked to be <code>1</code>. Else the update result is only
- * checked so that the update was successful (i.e. result code != Statement.EXECUTE_FAILED).
- * @return the update count / execution result as returned by {@link PreparedStatement#executeUpdate()}. Can be used
- * by the caller to perform more advanced checks.
- * @throws SQLException
- * if {@link PreparedStatement#executeUpdate()} throws it.
- * @throws IllegalStateException
- * if the check indicated by <code>excatlyOne</code> indicates an error.
- * @since 4.0
- */
- public static int update(PreparedStatement stmt, boolean exactlyOne) throws SQLException
- {
- trace(stmt.toString());
- int result = stmt.executeUpdate();
-
- // basic check of update result
- if (exactlyOne && result != 1)
- {
- throw new IllegalStateException(stmt.toString() + " returned Update count " + result + " (expected: 1)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (result == Statement.EXECUTE_FAILED)
- {
- throw new IllegalStateException(stmt.toString() + " returned EXECUTE_FAILED"); //$NON-NLS-1$
- }
-
- return result;
- }
-
- /**
- * @since 4.1
- */
- public static int clearTable(Connection connection, IDBTable table)
- {
- return clearTable(connection, table.getName());
- }
-
- /**
- * @since 4.1
- */
- public static int clearTable(Connection connection, String tableName)
- {
- String sql = "DELETE FROM " + tableName;
- return update(connection, sql);
- }
-
- public static int select(Connection connection, IDBRowHandler rowHandler, String where, IDBField... fields)
- throws DBException
- {
- IDBTable table = fields[0].getTable();
- for (int i = 1; i < fields.length; i++)
- {
- if (fields[i].getTable() != table)
- {
- throw new IllegalArgumentException("Multiple tables not allowed: " + Arrays.asList(fields)); //$NON-NLS-1$
- }
- }
-
- StringBuilder builder = new StringBuilder();
- builder.append("SELECT "); //$NON-NLS-1$
- for (int i = 0; i < fields.length; i++)
- {
- if (i > 0)
- {
- builder.append(", "); //$NON-NLS-1$
- }
-
- builder.append(fields[i]);
- }
-
- builder.append(" FROM "); //$NON-NLS-1$
- builder.append(table);
- if (where != null)
- {
- builder.append(" WHERE "); //$NON-NLS-1$
- builder.append(where);
- }
-
- String sql = trace(builder.toString());
- Statement statement = null;
- ResultSet resultSet = null;
-
- try
- {
- statement = connection.createStatement();
-
- try
- {
- int rows = 0;
- boolean proceed = true;
- Object[] values = new Object[fields.length];
- resultSet = statement.executeQuery(sql);
- while (proceed && resultSet.next())
- {
- for (int i = 0; i < fields.length; i++)
- {
- values[i] = resultSet.getObject(i + 1);
- if (values[i] instanceof Blob)
- {
- Blob blob = (Blob)values[i];
- long length = blob.length();
- if (length > Integer.MAX_VALUE)
- {
- throw new IllegalStateException("byte[] too long: " + length); //$NON-NLS-1$
- }
-
- values[i] = blob.getBytes(1, (int)length);
- }
- else if (values[i] instanceof Clob)
- {
- Clob clob = (Clob)values[i];
- long length = clob.length();
- if (length > Integer.MAX_VALUE)
- {
- throw new IllegalStateException("String too long: " + length); //$NON-NLS-1$
- }
-
- values[i] = clob.getSubString(1, (int)length);
- }
- }
-
- proceed = rowHandler.handle(rows++, values);
- }
-
- return rows;
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(resultSet);
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(statement);
- }
- }
-
- public static int select(Connection connection, IDBRowHandler rowHandler, IDBField... fields) throws DBException
- {
- return select(connection, rowHandler, null, fields);
- }
-
- public static Object[] select(Connection connection, String where, IDBField... fields) throws DBException
- {
- final Object[][] result = new Object[1][];
- IDBRowHandler rowHandler = new IDBRowHandler()
- {
- public boolean handle(int row, Object... values)
- {
- result[0] = values;
- return false;
- }
- };
-
- select(connection, rowHandler, where, fields);
- return result[0];
- }
-
- /**
- * Returns the number of rows contained in the given result set.
- * <p>
- * The {@link ResultSet#getStatement() statement} of the result set must have been created with
- * {@link ResultSet#TYPE_SCROLL_INSENSITIVE TYPE_SCROLL_INSENSITIVE}.
- *
- * @since 4.0
- */
- public static int getRowCount(ResultSet resultSet) throws DBException
- {
- reset(resultSet);
-
- try
- {
- resultSet.last();
- return resultSet.getRow();
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- reset(resultSet);
- }
- }
-
- private static void reset(ResultSet resultSet) throws DBException
- {
- try
- {
- resultSet.beforeFirst();
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- }
-
- /**
- * @since 3.0
- */
- public static void serializeTable(ExtendedDataOutput out, Connection connection, IDBTable table, String tableAlias,
- String sqlSuffix) throws DBException, IOException
- {
- serializeTable(out, connection, table, tableAlias, sqlSuffix, null);
- }
-
- /**
- * @since 4.1
- */
- public static void serializeTable(ExtendedDataOutput out, Connection connection, IDBTable table, String tableAlias,
- String sqlSuffix, SerializeRowHandler handler) throws DBException, IOException
- {
- IDBField[] fields = table.getFields();
-
- StringBuilder builder = new StringBuilder();
- builder.append("SELECT "); //$NON-NLS-1$
- for (int i = 0; i < fields.length; i++)
- {
- if (i > 0)
- {
- builder.append(", "); //$NON-NLS-1$
- }
-
- if (tableAlias != null)
- {
- builder.append(tableAlias);
- builder.append("."); //$NON-NLS-1$
- }
-
- builder.append(fields[i]);
- }
-
- builder.append(" FROM "); //$NON-NLS-1$
- builder.append(table);
- if (tableAlias != null)
- {
- builder.append(" "); //$NON-NLS-1$
- builder.append(tableAlias);
- }
-
- if (sqlSuffix != null)
- {
- builder.append(sqlSuffix);
- }
-
- String sql = trace(builder.toString());
- Statement statement = null;
- ResultSet resultSet = null;
- boolean successful = false;
-
- try
- {
- statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
-
- try
- {
- resultSet = statement.executeQuery(sql);
-
- // Write resultSet size for progress monitoring
- int size = getRowCount(resultSet);
- out.writeInt(size);
- if (size == 0)
- {
- return;
- }
-
- Object[] values = handler != null ? new Object[fields.length] : null;
-
- while (resultSet.next())
- {
- for (int i = 0; i < fields.length; i++)
- {
- IDBField field = fields[i];
- DBType type = field.getType();
- boolean canBeNull = !field.isNotNull();
-
- Object value = type.writeValueWithResult(out, resultSet, i + 1, canBeNull);
- if (values != null)
- {
- values[i] = value;
- }
- }
-
- if (handler != null)
- {
- handler.handleRow(out, connection, fields, values);
- }
- }
-
- successful = true;
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(resultSet);
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- try
- {
- if (handler != null)
- {
- handler.done(successful);
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(statement);
- }
- }
- }
-
- /**
- * @since 4.0
- */
- public static void deserializeTable(ExtendedDataInput in, Connection connection, IDBTable table, OMMonitor monitor)
- throws IOException
- {
- deserializeTable(in, connection, table, monitor, null);
- }
-
- /**
- * @since 4.1
- */
- public static void deserializeTable(ExtendedDataInput in, Connection connection, IDBTable table, OMMonitor monitor,
- DeserializeRowHandler handler) throws IOException
- {
- int size = in.readInt();
- if (size == 0)
- {
- return;
- }
-
- IDBField[] fields = table.getFields();
-
- StringBuilder builder = new StringBuilder();
- StringBuilder params = new StringBuilder();
-
- builder.append("INSERT INTO "); //$NON-NLS-1$
- builder.append(table);
- builder.append("("); //$NON-NLS-1$
-
- for (int i = 0; i < fields.length; i++)
- {
- if (i > 0)
- {
- builder.append(", "); //$NON-NLS-1$
- params.append(", "); //$NON-NLS-1$
- }
-
- builder.append(fields[i]);
- params.append("?"); //$NON-NLS-1$
- }
-
- builder.append(") VALUES ("); //$NON-NLS-1$
- builder.append(params.toString());
- builder.append(")"); //$NON-NLS-1$
-
- String sql = trace(builder.toString());
- PreparedStatement statement = null;
- boolean successful = false;
-
- monitor.begin(1 + 2 * size);
-
- try
- {
- statement = connection.prepareStatement(sql);
- monitor.worked();
-
- Object[] values = handler != null ? new Object[fields.length] : null;
-
- for (int row = 0; row < size; row++)
- {
- for (int i = 0; i < fields.length; i++)
- {
- IDBField field = fields[i];
- DBType type = field.getType();
- boolean canBeNull = !field.isNotNull();
- Object value = type.readValueWithResult(in, statement, i + 1, canBeNull);
- if (values != null)
- {
- values[i] = value;
- }
- }
-
- statement.addBatch();
- if (handler != null)
- {
- handler.handleRow(in, connection, fields, values);
- }
-
- monitor.worked();
- }
-
- Async async = monitor.forkAsync(size);
-
- try
- {
- statement.executeBatch();
- }
- finally
- {
- async.stop();
- }
-
- successful = true;
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- try
- {
- if (handler != null)
- {
- handler.done(successful);
- }
- }
- catch (SQLException ex)
- {
- throw new DBException(ex);
- }
- finally
- {
- close(statement);
- monitor.done();
- }
- }
- }
-
- /**
- * @since 3.0
- */
- public static String trace(String sql)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(sql);
- }
-
- return sql;
- }
-
- /**
- * @author Eike Stepper
- * @since 4.1
- */
- public interface RowHandler
- {
- public void done(boolean successful) throws SQLException, IOException;
- }
-
- /**
- * @author Eike Stepper
- * @since 4.1
- */
- public interface SerializeRowHandler extends RowHandler
- {
- public void handleRow(ExtendedDataOutput out, Connection connection, IDBField[] fields, Object[] values)
- throws SQLException, IOException;
- }
-
- /**
- * @author Eike Stepper
- * @since 4.1
- */
- public interface DeserializeRowHandler extends RowHandler
- {
- public void handleRow(ExtendedDataInput in, Connection connection, IDBField[] fields, Object[] values)
- throws SQLException, IOException;
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.db; + +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.db.ddl.IDBSchema; +import org.eclipse.net4j.db.ddl.IDBTable; +import org.eclipse.net4j.internal.db.DataSourceConnectionProvider; +import org.eclipse.net4j.internal.db.bundle.OM; +import org.eclipse.net4j.spi.db.DBSchema; +import org.eclipse.net4j.util.ReflectUtil; +import org.eclipse.net4j.util.io.ExtendedDataInput; +import org.eclipse.net4j.util.io.ExtendedDataOutput; +import org.eclipse.net4j.util.om.monitor.OMMonitor; +import org.eclipse.net4j.util.om.monitor.OMMonitor.Async; +import org.eclipse.net4j.util.om.trace.ContextTracer; + +import javax.sql.DataSource; + +import java.io.IOException; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * A utility class with various static factory and convenience methods. + * + * @author Eike Stepper + */ +public final class DBUtil +{ + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SQL, DBUtil.class); + + private DBUtil() + { + } + + /** + * For debugging purposes ONLY! + * + * @deprecated Should only be used when debugging. + * @since 3.0 + */ + @Deprecated + public static void sqlDump(Connection conn, String sql) + { + ResultSet rs = null; + + try + { + TRACER.format("Dumping output of {0}", sql); //$NON-NLS-1$ + rs = conn.createStatement().executeQuery(sql); + int numCol = rs.getMetaData().getColumnCount(); + + StringBuilder row = new StringBuilder(); + for (int c = 1; c <= numCol; c++) + { + row.append(String.format("%10s | ", rs.getMetaData().getColumnLabel(c))); //$NON-NLS-1$ + } + + TRACER.trace(row.toString()); + + row = new StringBuilder(); + for (int c = 1; c <= numCol; c++) + { + row.append("-----------+--"); //$NON-NLS-1$ + } + + TRACER.trace(row.toString()); + + while (rs.next()) + { + row = new StringBuilder(); + for (int c = 1; c <= numCol; c++) + { + row.append(String.format("%10s | ", rs.getString(c))); //$NON-NLS-1$ + } + + TRACER.trace(row.toString()); + } + + row = new StringBuilder(); + for (int c = 1; c <= numCol; c++) + { + row.append("-----------+-"); //$NON-NLS-1$ + } + + TRACER.trace(row.toString()); + } + catch (SQLException ex) + { + // Do nothing + } + finally + { + close(rs); + } + } + + /** + * For debugging purposes ONLY! + * + * @deprecated Should only be used when debugging. + * @since 3.0 + */ + @Deprecated + public static void sqlDump(IDBConnectionProvider connectionProvider, String sql) + { + Connection connection = connectionProvider.getConnection(); + + try + { + sqlDump(connection, sql); + } + finally + { + close(connection); + } + } + + public static IDBSchema createSchema(String name) + { + return new DBSchema(name); + } + + public static DataSource createDataSource(Map<Object, Object> properties) + { + return createDataSource(properties, null); + } + + public static DataSource createDataSource(Map<Object, Object> properties, String namespace) + { + return createDataSource(properties, namespace, "class"); //$NON-NLS-1$ + } + + public static DataSource createDataSource(Map<Object, Object> properties, String namespace, String driverClassKey) + { + try + { + return (DataSource)ReflectUtil.instantiate(properties, namespace, driverClassKey, OM.class.getClassLoader()); + } + catch (Exception ex) + { + throw new DBException(ex); + } + } + + public static IDBConnectionProvider createConnectionProvider(DataSource dataSource) + { + return new DataSourceConnectionProvider(dataSource); + } + + /** + * Can only be used when Eclipse is running. In standalone scenarios create the adapter instance by directly calling + * the constructor of the adapter class. + */ + public static IDBAdapter getDBAdapter(String adapterName) + { + return IDBAdapter.REGISTRY.get(adapterName); + } + + public static Exception close(Connection connection) + { + if (connection != null) + { + try + { + // Only for connections with autoCommit = false, we try a rollback + // first to clear any open transactions. + if (!connection.getAutoCommit()) + { + rollback(connection); + } + + connection.close(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + return ex; + } + } + + return null; + } + + private static void rollback(Connection connection) + { + try + { + connection.rollback(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + + public static Exception close(Statement statement) + { + if (statement != null) + { + try + { + statement.close(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + return ex; + } + } + + return null; + } + + public static Exception close(ResultSet resultSet) + { + if (resultSet != null) + { + try + { + Statement statement = resultSet.getStatement(); + if (statement != null && statement.getMaxRows() != 0) + { + statement.setMaxRows(0); + } + } + catch (Exception ignore) + { + } + + try + { + resultSet.close(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + return ex; + } + } + + return null; + } + + /** + * @since 3.0 + */ + public static List<String> getAllSchemaTableNames(Connection connection) + { + try + { + DatabaseMetaData metaData = connection.getMetaData(); + return getAllSchemaTableNames(metaData); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + } + + /** + * @since 3.0 + */ + public static List<String> getAllSchemaTableNames(DatabaseMetaData metaData) + { + ResultSet schemas = null; + + try + { + List<String> names = new ArrayList<String>(); + schemas = metaData.getSchemas(); + while (schemas.next()) + { + String name = schemas.getString(1); + names.add(name); + } + + return names; + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(schemas); + } + } + + public static List<String> getAllTableNames(Connection connection, String dbName) + { + ResultSet tables = null; + + try + { + List<String> names = new ArrayList<String>(); + DatabaseMetaData metaData = connection.getMetaData(); + if (dbName != null) + { + dbName = dbName.toUpperCase(); + List<String> schemaNames = getAllSchemaTableNames(metaData); + if (!schemaNames.contains(dbName)) + { + dbName = null; + } + } + + tables = metaData.getTables(null, dbName, null, new String[] { "TABLE" }); //$NON-NLS-1$ + while (tables.next()) + { + String name = tables.getString(3); + // System.out.println(tables.getString(2) + "." + name); + names.add(name); + } + + return names; + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(tables); + } + } + + /** + * @since 4.0 + */ + public static List<Exception> dropAllTables(Connection connection, String dbName) + { + List<Exception> exceptions = new ArrayList<Exception>(); + Statement statement = null; + + try + { + statement = connection.createStatement(); + for (String tableName : DBUtil.getAllTableNames(connection, dbName)) + { + String sql = "DROP TABLE " + tableName; //$NON-NLS-1$ + trace(sql); + + try + { + statement.execute(sql); + } + catch (SQLException ex) + { + exceptions.add(ex); + } + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + DBUtil.close(statement); + } + + return exceptions; + } + + /** + * @since 3.0 + */ + public static int selectMinimumInt(Connection connection, IDBField field, String... where) throws DBException + { + Number number = getFunctionResult(connection, field, "MIN", where); //$NON-NLS-1$ + if (number instanceof Integer) + { + return (Integer)number; + } + else if (number == null) + { + return 0; + } + + throw new DBException("Not an integer number: " + number); //$NON-NLS-1$ + } + + /** + * @since 3.0 + */ + public static long selectMinimumLong(Connection connection, IDBField field, String... where) throws DBException + { + Number number = getFunctionResult(connection, field, "MIN", where); //$NON-NLS-1$ + if (number instanceof Long) + { + return (Long)number; + } + else if (number == null) + { + return 0L; + } + + throw new DBException("Not a long number: " + number); //$NON-NLS-1$ + } + + /** + * @since 3.0 + */ + public static int selectMaximumInt(Connection connection, IDBField field, String... where) throws DBException + { + Number number = getFunctionResult(connection, field, "MAX", where); //$NON-NLS-1$ + if (number instanceof Integer) + { + return (Integer)number; + } + else if (number == null) + { + return 0; + } + + throw new DBException("Not an integer number: " + number); //$NON-NLS-1$ + } + + /** + * @since 3.0 + */ + public static long selectMaximumLong(Connection connection, IDBField field, String... where) throws DBException + { + Number number = getFunctionResult(connection, field, "MAX", where); //$NON-NLS-1$ + if (number instanceof Long) + { + return (Long)number; + } + else if (number == null) + { + return 0L; + } + + throw new DBException("Not a long number: " + number); //$NON-NLS-1$ + } + + private static Number getFunctionResult(Connection connection, IDBField field, String function, String... where) + throws DBException + { + StringBuilder builder = new StringBuilder(); + builder.append("SELECT "); //$NON-NLS-1$ + builder.append(function); + builder.append("("); //$NON-NLS-1$ + builder.append(field); + builder.append(") FROM "); //$NON-NLS-1$ + builder.append(field.getTable()); + + for (int i = 0; i < where.length; i++) + { + if (i == 0) + { + builder.append(" WHERE "); //$NON-NLS-1$ + } + else + { + builder.append(" AND "); //$NON-NLS-1$ + } + + builder.append("("); //$NON-NLS-1$ + builder.append(where[i]); + builder.append(")"); //$NON-NLS-1$ + } + + String sql = trace(builder.toString()); + Statement statement = null; + ResultSet resultSet = null; + + try + { + statement = connection.createStatement(); + + try + { + resultSet = statement.executeQuery(sql); + if (!resultSet.next()) + { + return null; + } + + return (Number)resultSet.getObject(1); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(resultSet); + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(statement); + } + } + + /** + * @since 4.1 + */ + public static void executeBatch(PreparedStatement stmt, int counter) + { + executeBatch(stmt, counter, true); + } + + /** + * @since 4.1 + */ + public static void executeBatch(PreparedStatement stmt, int counter, boolean checkExactlyOne) + { + try + { + int[] results = stmt.executeBatch(); + if (results.length != counter) + { + throw new DBException("Statement has " + results.length + " results (expected: " + counter + ")"); + } + + for (int i = 0; i < results.length; i++) + { + int result = results[i]; + if (result < 0 && result != Statement.SUCCESS_NO_INFO) + { + throw new DBException("Result " + i + " is not successful: " + result); + } + else if (checkExactlyOne && result != 1) + { + throw new DBException("Result " + i + " did not affect exactly one row: " + result); + } + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + } + + public static int update(Connection connection, String sql) + { + trace(sql); + Statement statement = null; + + try + { + statement = connection.createStatement(); + return statement.executeUpdate(sql); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(statement); + } + } + + /** + * Execute update on the given prepared statement and handle common cases of return values. + * + * @param stmt + * the prepared statement + * @param exactlyOne + * if <code>true</code>, the update count is checked to be <code>1</code>. Else the update result is only + * checked so that the update was successful (i.e. result code != Statement.EXECUTE_FAILED). + * @return the update count / execution result as returned by {@link PreparedStatement#executeUpdate()}. Can be used + * by the caller to perform more advanced checks. + * @throws SQLException + * if {@link PreparedStatement#executeUpdate()} throws it. + * @throws IllegalStateException + * if the check indicated by <code>excatlyOne</code> indicates an error. + * @since 4.0 + */ + public static int update(PreparedStatement stmt, boolean exactlyOne) throws SQLException + { + trace(stmt.toString()); + int result = stmt.executeUpdate(); + + // basic check of update result + if (exactlyOne && result != 1) + { + throw new IllegalStateException(stmt.toString() + " returned Update count " + result + " (expected: 1)"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + if (result == Statement.EXECUTE_FAILED) + { + throw new IllegalStateException(stmt.toString() + " returned EXECUTE_FAILED"); //$NON-NLS-1$ + } + + return result; + } + + /** + * @since 4.1 + */ + public static int clearTable(Connection connection, IDBTable table) + { + return clearTable(connection, table.getName()); + } + + /** + * @since 4.1 + */ + public static int clearTable(Connection connection, String tableName) + { + String sql = "DELETE FROM " + tableName; + return update(connection, sql); + } + + public static int select(Connection connection, IDBRowHandler rowHandler, String where, IDBField... fields) + throws DBException + { + IDBTable table = fields[0].getTable(); + for (int i = 1; i < fields.length; i++) + { + if (fields[i].getTable() != table) + { + throw new IllegalArgumentException("Multiple tables not allowed: " + Arrays.asList(fields)); //$NON-NLS-1$ + } + } + + StringBuilder builder = new StringBuilder(); + builder.append("SELECT "); //$NON-NLS-1$ + for (int i = 0; i < fields.length; i++) + { + if (i > 0) + { + builder.append(", "); //$NON-NLS-1$ + } + + builder.append(fields[i]); + } + + builder.append(" FROM "); //$NON-NLS-1$ + builder.append(table); + if (where != null) + { + builder.append(" WHERE "); //$NON-NLS-1$ + builder.append(where); + } + + String sql = trace(builder.toString()); + Statement statement = null; + ResultSet resultSet = null; + + try + { + statement = connection.createStatement(); + + try + { + int rows = 0; + boolean proceed = true; + Object[] values = new Object[fields.length]; + resultSet = statement.executeQuery(sql); + while (proceed && resultSet.next()) + { + for (int i = 0; i < fields.length; i++) + { + values[i] = resultSet.getObject(i + 1); + if (values[i] instanceof Blob) + { + Blob blob = (Blob)values[i]; + long length = blob.length(); + if (length > Integer.MAX_VALUE) + { + throw new IllegalStateException("byte[] too long: " + length); //$NON-NLS-1$ + } + + values[i] = blob.getBytes(1, (int)length); + } + else if (values[i] instanceof Clob) + { + Clob clob = (Clob)values[i]; + long length = clob.length(); + if (length > Integer.MAX_VALUE) + { + throw new IllegalStateException("String too long: " + length); //$NON-NLS-1$ + } + + values[i] = clob.getSubString(1, (int)length); + } + } + + proceed = rowHandler.handle(rows++, values); + } + + return rows; + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(resultSet); + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(statement); + } + } + + public static int select(Connection connection, IDBRowHandler rowHandler, IDBField... fields) throws DBException + { + return select(connection, rowHandler, null, fields); + } + + public static Object[] select(Connection connection, String where, IDBField... fields) throws DBException + { + final Object[][] result = new Object[1][]; + IDBRowHandler rowHandler = new IDBRowHandler() + { + public boolean handle(int row, Object... values) + { + result[0] = values; + return false; + } + }; + + select(connection, rowHandler, where, fields); + return result[0]; + } + + /** + * Returns the number of rows contained in the given result set. + * <p> + * The {@link ResultSet#getStatement() statement} of the result set must have been created with + * {@link ResultSet#TYPE_SCROLL_INSENSITIVE TYPE_SCROLL_INSENSITIVE}. + * + * @since 4.0 + */ + public static int getRowCount(ResultSet resultSet) throws DBException + { + reset(resultSet); + + try + { + resultSet.last(); + return resultSet.getRow(); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + reset(resultSet); + } + } + + private static void reset(ResultSet resultSet) throws DBException + { + try + { + resultSet.beforeFirst(); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + } + + /** + * @since 3.0 + */ + public static void serializeTable(ExtendedDataOutput out, Connection connection, IDBTable table, String tableAlias, + String sqlSuffix) throws DBException, IOException + { + serializeTable(out, connection, table, tableAlias, sqlSuffix, null); + } + + /** + * @since 4.1 + */ + public static void serializeTable(ExtendedDataOutput out, Connection connection, IDBTable table, String tableAlias, + String sqlSuffix, SerializeRowHandler handler) throws DBException, IOException + { + IDBField[] fields = table.getFields(); + + StringBuilder builder = new StringBuilder(); + builder.append("SELECT "); //$NON-NLS-1$ + for (int i = 0; i < fields.length; i++) + { + if (i > 0) + { + builder.append(", "); //$NON-NLS-1$ + } + + if (tableAlias != null) + { + builder.append(tableAlias); + builder.append("."); //$NON-NLS-1$ + } + + builder.append(fields[i]); + } + + builder.append(" FROM "); //$NON-NLS-1$ + builder.append(table); + if (tableAlias != null) + { + builder.append(" "); //$NON-NLS-1$ + builder.append(tableAlias); + } + + if (sqlSuffix != null) + { + builder.append(sqlSuffix); + } + + String sql = trace(builder.toString()); + Statement statement = null; + ResultSet resultSet = null; + boolean successful = false; + + try + { + statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + + try + { + resultSet = statement.executeQuery(sql); + + // Write resultSet size for progress monitoring + int size = getRowCount(resultSet); + out.writeInt(size); + if (size == 0) + { + return; + } + + Object[] values = handler != null ? new Object[fields.length] : null; + + while (resultSet.next()) + { + for (int i = 0; i < fields.length; i++) + { + IDBField field = fields[i]; + DBType type = field.getType(); + boolean canBeNull = !field.isNotNull(); + + Object value = type.writeValueWithResult(out, resultSet, i + 1, canBeNull); + if (values != null) + { + values[i] = value; + } + } + + if (handler != null) + { + handler.handleRow(out, connection, fields, values); + } + } + + successful = true; + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(resultSet); + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + try + { + if (handler != null) + { + handler.done(successful); + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(statement); + } + } + } + + /** + * @since 4.0 + */ + public static void deserializeTable(ExtendedDataInput in, Connection connection, IDBTable table, OMMonitor monitor) + throws IOException + { + deserializeTable(in, connection, table, monitor, null); + } + + /** + * @since 4.1 + */ + public static void deserializeTable(ExtendedDataInput in, Connection connection, IDBTable table, OMMonitor monitor, + DeserializeRowHandler handler) throws IOException + { + int size = in.readInt(); + if (size == 0) + { + return; + } + + IDBField[] fields = table.getFields(); + + StringBuilder builder = new StringBuilder(); + StringBuilder params = new StringBuilder(); + + builder.append("INSERT INTO "); //$NON-NLS-1$ + builder.append(table); + builder.append("("); //$NON-NLS-1$ + + for (int i = 0; i < fields.length; i++) + { + if (i > 0) + { + builder.append(", "); //$NON-NLS-1$ + params.append(", "); //$NON-NLS-1$ + } + + builder.append(fields[i]); + params.append("?"); //$NON-NLS-1$ + } + + builder.append(") VALUES ("); //$NON-NLS-1$ + builder.append(params.toString()); + builder.append(")"); //$NON-NLS-1$ + + String sql = trace(builder.toString()); + PreparedStatement statement = null; + boolean successful = false; + + monitor.begin(1 + 2 * size); + + try + { + statement = connection.prepareStatement(sql); + monitor.worked(); + + Object[] values = handler != null ? new Object[fields.length] : null; + + for (int row = 0; row < size; row++) + { + for (int i = 0; i < fields.length; i++) + { + IDBField field = fields[i]; + DBType type = field.getType(); + boolean canBeNull = !field.isNotNull(); + Object value = type.readValueWithResult(in, statement, i + 1, canBeNull); + if (values != null) + { + values[i] = value; + } + } + + statement.addBatch(); + if (handler != null) + { + handler.handleRow(in, connection, fields, values); + } + + monitor.worked(); + } + + Async async = monitor.forkAsync(size); + + try + { + statement.executeBatch(); + } + finally + { + async.stop(); + } + + successful = true; + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + try + { + if (handler != null) + { + handler.done(successful); + } + } + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + close(statement); + monitor.done(); + } + } + } + + /** + * @since 3.0 + */ + public static String trace(String sql) + { + if (TRACER.isEnabled()) + { + TRACER.trace(sql); + } + + return sql; + } + + /** + * Call-back interface with a {@link #done(boolean) method} that is called <i>after</i> + * a number of table rows have been handled by one of the subtypes of this interface. + * + * @author Eike Stepper + * @since 4.1 + */ + public interface RowHandler + { + public void done(boolean successful) throws SQLException, IOException; + } + + /** + * A {@link RowHandler row handler} with a {@link #handleRow(ExtendedDataOutput, Connection, IDBField[], Object[]) method} + * that is called once per row serialized within {@link DBUtil#serializeTable(ExtendedDataOutput, Connection, IDBTable, String, String, SerializeRowHandler) DBUtil.serializeTable()}. + * + * @author Eike Stepper + * @since 4.1 + */ + public interface SerializeRowHandler extends RowHandler + { + public void handleRow(ExtendedDataOutput out, Connection connection, IDBField[] fields, Object[] values) + throws SQLException, IOException; + } + + /** + * A {@link RowHandler row handler} with a {@link #handleRow(ExtendedDataInput, Connection, IDBField[], Object[]) method} + * that is called once per row deserialized within {@link DBUtil#deserializeTable(ExtendedDataInput, Connection, IDBTable, OMMonitor, DeserializeRowHandler) DBUtil.deserializeTable()}. + * + * @author Eike Stepper + * @since 4.1 + */ + public interface DeserializeRowHandler extends RowHandler + { + public void handleRow(ExtendedDataInput in, Connection connection, IDBField[] fields, Object[] values) + throws SQLException, IOException; + } +} diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-frame.html b/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-frame.html index 5b43e8509a..c0eb72d8fd 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-frame.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-frame.html @@ -666,6 +666,8 @@ All Classes (Net4j Utilities Documentation) <BR> <A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">RemoteTraceServer</A> <BR> +<A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">RemoteTraceServer.Event</A> +<BR> <A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace" target="classFrame"><I>RemoteTraceServer.Listener</I></A> <BR> <A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">RemoteTraceServer.PrintListener</A> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-noframe.html b/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-noframe.html index ae85779455..d8514a8dbd 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-noframe.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/allclasses-noframe.html @@ -666,6 +666,8 @@ All Classes (Net4j Utilities Documentation) <BR> <A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A> <BR> +<A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<BR> <A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><I>RemoteTraceServer.Listener</I></A> <BR> <A HREF="org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/index-all.html b/plugins/org.eclipse.net4j.util.doc/javadoc/index-all.html index 740d5a286f..469d969748 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/index-all.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/index-all.html @@ -92,7 +92,8 @@ Constructor for class org.eclipse.net4j.util.container.delegate.<A HREF="./org/e method.<DT><A HREF="./org/eclipse/net4j/util/collection/AbstractIterator.html#AbstractIterator()"><B>AbstractIterator()</B></A> - Constructor for class org.eclipse.net4j.util.collection.<A HREF="./org/eclipse/net4j/util/collection/AbstractIterator.html" title="class in org.eclipse.net4j.util.collection">AbstractIterator</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/log/AbstractLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><B>AbstractLogHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/AbstractLogHandler.html#AbstractLogHandler(org.eclipse.net4j.util.om.log.OMLogger.Level)"><B>AbstractLogHandler(OMLogger.Level)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/log/AbstractLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><B>AbstractLogHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>An abstract base implementation of a <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that filters log events with a <A HREF="./org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><CODE>log level</CODE></A> + greater than a configurable <CODE>maximum level</CODE>.<DT><A HREF="./org/eclipse/net4j/util/om/log/AbstractLogHandler.html#AbstractLogHandler(org.eclipse.net4j.util.om.log.OMLogger.Level)"><B>AbstractLogHandler(OMLogger.Level)</B></A> - Constructor for class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/AbstractLogHandler.html" title="class in org.eclipse.net4j.util.om.log">AbstractLogHandler</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/AbstractLogHandler.html#AbstractLogHandler()"><B>AbstractLogHandler()</B></A> - @@ -384,6 +385,9 @@ Method in class org.eclipse.net4j.util.concurrent.<A HREF="./org/eclipse/net4j/u <DT><A HREF="./org/eclipse/net4j/util/ui/views/MasterDetailsView.html#adjustDetails(java.lang.Object)"><B>adjustDetails(Object)</B></A> - Method in class org.eclipse.net4j.util.ui.views.<A HREF="./org/eclipse/net4j/util/ui/views/MasterDetailsView.html" title="class in org.eclipse.net4j.util.ui.views">MasterDetailsView</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#agentID"><B>agentID</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/security/Randomizer.html#ALGORITHM_SHA1PRNG"><B>ALGORITHM_SHA1PRNG</B></A> - Static variable in class org.eclipse.net4j.util.security.<A HREF="./org/eclipse/net4j/util/security/Randomizer.html" title="class in org.eclipse.net4j.util.security">Randomizer</A> <DD> @@ -512,6 +516,9 @@ Variable in class org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/om <DT><A HREF="./org/eclipse/net4j/util/ui/UIActivator.html#bundleContext"><B>bundleContext</B></A> - Variable in class org.eclipse.net4j.util.ui.<A HREF="./org/eclipse/net4j/util/ui/UIActivator.html" title="class in org.eclipse.net4j.util.ui">UIActivator</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#bundleID"><B>bundleID</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/ui/widgets/HistoryTextDialog.html#buttonPressed(int)"><B>buttonPressed(int)</B></A> - Method in class org.eclipse.net4j.util.ui.widgets.<A HREF="./org/eclipse/net4j/util/ui/widgets/HistoryTextDialog.html" title="class in org.eclipse.net4j.util.ui.widgets">HistoryTextDialog</A> <DD> @@ -883,24 +890,7 @@ Constructor for class org.eclipse.net4j.util.collection.<A HREF="./org/eclipse/n <DT><A HREF="./org/eclipse/net4j/util/collection/ConcurrentArray.Unique.html" title="class in org.eclipse.net4j.util.collection"><B>ConcurrentArray.Unique</B></A><<A HREF="./org/eclipse/net4j/util/collection/ConcurrentArray.Unique.html" title="type parameter in ConcurrentArray.Unique">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/collection/package-summary.html">org.eclipse.net4j.util.collection</A><DD> <DT><A HREF="./org/eclipse/net4j/util/collection/ConcurrentArray.Unique.html#ConcurrentArray.Unique()"><B>ConcurrentArray.Unique()</B></A> - Constructor for class org.eclipse.net4j.util.collection.<A HREF="./org/eclipse/net4j/util/collection/ConcurrentArray.Unique.html" title="class in org.eclipse.net4j.util.collection">ConcurrentArray.Unique</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html" title="class in org.eclipse.net4j.util.concurrent"><B>ConcurrentValue</B></A><<A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html" title="type parameter in ConcurrentValue">T</A>> - Class in <A HREF="./org/eclipse/net4j/util/concurrent/package-summary.html">org.eclipse.net4j.util.concurrent</A><DD>Allow synchronization between many threads for a specific value, e.g.: - - - MainThread cv.set(1); - Thread1 cv.acquire(3); - Thread2 cv.acquire(4); - Thread3 cv.acquire(100); - Thread4 cv.acquire(new Object() - { - public boolean equals(Object other) - { - return other.equals(2) || other.equals(3); - } - }); - Thread5 cv.acquire(1); - ... - // Thread 1,2,3 and 4 are blocked - // Thread 5 isn't blocked.<DT><A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html#ConcurrentValue(T)"><B>ConcurrentValue(T)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html" title="class in org.eclipse.net4j.util.concurrent"><B>ConcurrentValue</B></A><<A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html" title="type parameter in ConcurrentValue">T</A>> - Class in <A HREF="./org/eclipse/net4j/util/concurrent/package-summary.html">org.eclipse.net4j.util.concurrent</A><DD>Allow synchronization between many threads for a specific value.<DT><A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html#ConcurrentValue(T)"><B>ConcurrentValue(T)</B></A> - Constructor for class org.eclipse.net4j.util.concurrent.<A HREF="./org/eclipse/net4j/util/concurrent/ConcurrentValue.html" title="class in org.eclipse.net4j.util.concurrent">ConcurrentValue</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/ui/container/ElementWizardDialog.html#configureShell(org.eclipse.swt.widgets.Shell)"><B>configureShell(Shell)</B></A> - @@ -930,7 +920,7 @@ Static variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/ <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#CONSOLE"><B>CONSOLE</B></A> - Static variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><B>Container</B></A><<A HREF="./org/eclipse/net4j/util/container/Container.html" title="type parameter in Container">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>A default <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="./org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/Container.html#Container()"><B>Container()</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><B>Container</B></A><<A HREF="./org/eclipse/net4j/util/container/Container.html" title="type parameter in Container">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>An abstract base implementation of a <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="./org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/Container.html#Container()"><B>Container()</B></A> - Constructor for class org.eclipse.net4j.util.container.<A HREF="./org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.html" title="class in org.eclipse.net4j.util.container.delegate"><B>ContainerBlockingQueue</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.html" title="type parameter in ContainerBlockingQueue">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A default implementation of a <A HREF="./org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate"><CODE>container blocking queue</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.html#ContainerBlockingQueue(java.util.concurrent.BlockingQueue)"><B>ContainerBlockingQueue(BlockingQueue<E>)</B></A> - @@ -1087,10 +1077,13 @@ Method in class org.eclipse.net4j.util.registry.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/registry/UnmodifiableRegistry.html#containsValue(java.lang.Object)"><B>containsValue(Object)</B></A> - Method in class org.eclipse.net4j.util.registry.<A HREF="./org/eclipse/net4j/util/registry/UnmodifiableRegistry.html" title="class in org.eclipse.net4j.util.registry">UnmodifiableRegistry</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#context"><B>context</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html#context"><B>context</B></A> - Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><B>ContextTracer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html#ContextTracer(org.eclipse.net4j.util.om.trace.OMTracer, java.lang.Class)"><B>ContextTracer(OMTracer, Class<?>)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><B>ContextTracer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>Encapsulates a tracing <A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()"><CODE>context</CODE></A> and delegates trace calls to a bundle <A HREF="./org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html#ContextTracer(org.eclipse.net4j.util.om.trace.OMTracer, java.lang.Class)"><B>ContextTracer(OMTracer, Class<?>)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace">ContextTracer</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/ui/views/ContainerView.html#contributeToActionBars()"><B>contributeToActionBars()</B></A> - @@ -2055,7 +2048,7 @@ Constructor for class org.eclipse.net4j.util.collection.<A HREF="./org/eclipse/n <A NAME="_E_"><!-- --></A><H2> <B>E</B></H2> <DL> -<DT><A HREF="./org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><B>EclipseLoggingBridge</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html#EclipseLoggingBridge()"><B>EclipseLoggingBridge()</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><B>EclipseLoggingBridge</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>A <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the Eclipse <CODE>error log</CODE>.<DT><A HREF="./org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html#EclipseLoggingBridge()"><B>EclipseLoggingBridge()</B></A> - Constructor for class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">EclipseLoggingBridge</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/EclipseMonitor.html" title="class in org.eclipse.net4j.util.om.monitor"><B>EclipseMonitor</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/EclipseMonitor.html#EclipseMonitor(org.eclipse.core.runtime.IProgressMonitor, java.lang.String)"><B>EclipseMonitor(IProgressMonitor, String)</B></A> - @@ -2423,7 +2416,7 @@ Static variable in class org.eclipse.net4j.util.fsm.<A HREF="./org/eclipse/net4j <DT><A HREF="./org/eclipse/net4j/util/collection/FastList.html" title="class in org.eclipse.net4j.util.collection"><B>FastList</B></A><<A HREF="./org/eclipse/net4j/util/collection/FastList.html" title="type parameter in FastList">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/collection/package-summary.html">org.eclipse.net4j.util.collection</A><DD><B>Deprecated.</B> <I>As of 3.2 use <A HREF="./org/eclipse/net4j/util/collection/ConcurrentArray.html" title="class in org.eclipse.net4j.util.collection"><CODE>ConcurrentArray</CODE></A>.</I><DT><A HREF="./org/eclipse/net4j/util/collection/FastList.html#FastList()"><B>FastList()</B></A> - Constructor for class org.eclipse.net4j.util.collection.<A HREF="./org/eclipse/net4j/util/collection/FastList.html" title="class in org.eclipse.net4j.util.collection">FastList</A> <DD><B>Deprecated.</B> -<DT><A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><B>FileLogHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html#FileLogHandler(java.io.File, org.eclipse.net4j.util.om.log.OMLogger.Level)"><B>FileLogHandler(File, OMLogger.Level)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><B>FileLogHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>A <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to a <A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html#getLogFile()"><CODE>file</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html#FileLogHandler(java.io.File, org.eclipse.net4j.util.om.log.OMLogger.Level)"><B>FileLogHandler(File, OMLogger.Level)</B></A> - Constructor for class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log">FileLogHandler</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/FileLogHandler.html#FileLogHandler(java.io.File)"><B>FileLogHandler(File)</B></A> - @@ -3068,6 +3061,9 @@ Method in class org.eclipse.net4j.util.ui.views.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/ui/views/ContainerView.Default.html#getContainerListener()"><B>getContainerListener()</B></A> - Method in class org.eclipse.net4j.util.ui.views.<A HREF="./org/eclipse/net4j/util/ui/views/ContainerView.Default.html" title="class in org.eclipse.net4j.util.ui.views">ContainerView.Default</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()"><B>getContext()</B></A> - +Method in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace">ContextTracer</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html#getContext()"><B>getContext()</B></A> - Method in interface org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace">OMTraceHandlerEvent</A> <DD> @@ -3557,6 +3553,9 @@ Method in class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/util/io/S <DT><A HREF="./org/eclipse/net4j/util/io/SortedFileMap.html#getEntrySize()"><B>getEntrySize()</B></A> - Method in class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/util/io/SortedFileMap.html" title="class in org.eclipse.net4j.util.io">SortedFileMap</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><B>getErr()</B></A> - +Method in class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log">PrintLogHandler</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/ui/views/ContainerItemProvider.html#getErrorText(org.eclipse.net4j.util.container.IContainer)"><B>getErrorText(IContainer<Object>)</B></A> - Method in class org.eclipse.net4j.util.ui.views.<A HREF="./org/eclipse/net4j/util/ui/views/ContainerItemProvider.html" title="class in org.eclipse.net4j.util.ui.views">ContainerItemProvider</A> <DD> @@ -4019,6 +4018,9 @@ Method in class org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/om/O <DT><A HREF="./org/eclipse/net4j/util/ui/UIActivator.html#getOMBundle()"><B>getOMBundle()</B></A> - Method in class org.eclipse.net4j.util.ui.<A HREF="./org/eclipse/net4j/util/ui/UIActivator.html" title="class in org.eclipse.net4j.util.ui">UIActivator</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><B>getOut()</B></A> - +Method in class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log">PrintLogHandler</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/container/LifecycleEventConverter.html#getOwner()"><B>getOwner()</B></A> - Method in class org.eclipse.net4j.util.container.<A HREF="./org/eclipse/net4j/util/container/LifecycleEventConverter.html" title="class in org.eclipse.net4j.util.container">LifecycleEventConverter</A> <DD> @@ -4391,6 +4393,12 @@ Method in interface org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/ <DT><A HREF="./org/eclipse/net4j/util/fsm/FiniteStateMachine.html#getStates()"><B>getStates()</B></A> - Method in class org.eclipse.net4j.util.fsm.<A HREF="./org/eclipse/net4j/util/fsm/FiniteStateMachine.html" title="class in org.eclipse.net4j.util.fsm">FiniteStateMachine</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()"><B>getStream()</B></A> - +Method in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">PrintTraceHandler</A> +<DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><B>getStream()</B></A> - +Method in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.TranslationSupport.html#getString(java.lang.String)"><B>getString(String)</B></A> - Method in interface org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/om/OMBundle.TranslationSupport.html" title="interface in org.eclipse.net4j.util.om">OMBundle.TranslationSupport</A> <DD>Returns the string resource associated with the key. @@ -5046,7 +5054,7 @@ Constructor for class org.eclipse.net4j.util.cache.<A HREF="./org/eclipse/net4j/ <A NAME="_I_"><!-- --></A><H2> <B>I</B></H2> <DL> -<DT><A HREF="./org/eclipse/net4j/util/cache/ICache.html" title="interface in org.eclipse.net4j.util.cache"><B>ICache</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitor.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheMonitor</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitor.Condition.html" title="enum in org.eclipse.net4j.util.cache"><B>ICacheMonitor.Condition</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitor.ConditionPolicy.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheMonitor.ConditionPolicy</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitorEvent.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheMonitorEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheProbe.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheProbe</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheRegistration.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheRegistration</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/IChallengeResponse.html" title="interface in org.eclipse.net4j.util.security"><B>IChallengeResponse</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/IChallengeResponse.Event.html" title="enum in org.eclipse.net4j.util.security"><B>IChallengeResponse.Event</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/IChallengeResponse.State.html" title="enum in org.eclipse.net4j.util.security"><B>IChallengeResponse.State</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><B>IContainer</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="type parameter in IContainer">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Contains a number of elements and notifies about element addition and removal.<DT><A HREF="./org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="interface in org.eclipse.net4j.util.container"><B>IContainer.Modifiable</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="type parameter in IContainer.Modifiable">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerBlockingQueue</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="type parameter in IContainerBlockingQueue">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerCollection.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerCollection</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerCollection.html" title="type parameter in IContainerCollection">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util"><CODE>Collection</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerDelta</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="type parameter in IContainerDelta">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Describes the addition or removal of a single element from a <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerDelta.Kind.html" title="enum in org.eclipse.net4j.util.container"><B>IContainerDelta.Kind</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Enumerates the possible <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container"><CODE>container delta</CODE></A> kinds <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.Kind.html#ADDED"><CODE>IContainerDelta.Kind.ADDED</CODE></A> or <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.Kind.html#REMOVED"><CODE>IContainerDelta.Kind.REMOVED</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerEvent.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerEvent</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerEvent.html" title="type parameter in IContainerEvent">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>An <A HREF="./org/eclipse/net4j/util/event/IEvent.html" title="interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> when its elements have changed.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerEventVisitor</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.html" title="type parameter in IContainerEventVisitor">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>A callback interface for visiting <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container"><CODE>container deltas</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.Filtered.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerEventVisitor.Filtered</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.Filtered.html" title="type parameter in IContainerEventVisitor.Filtered">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>An extension interface for <A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.html" title="interface in org.eclipse.net4j.util.container"><CODE>container event visitors</CODE></A> that can <A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.Filtered.html#filter(E)"><CODE>filter</CODE></A> deltas from being visited.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerList.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerList</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerList.html" title="type parameter in IContainerList">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><CODE>List</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerMap.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerMap</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerMap.html" title="type parameter in IContainerMap">K</A>,<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerMap.html" title="type parameter in IContainerMap">V</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> (of <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util"><CODE>map entries</CODE></A>) that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerQueue.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerQueue</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerQueue.html" title="type parameter in IContainerQueue">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util"><CODE>Queue</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSet.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerSet</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSet.html" title="type parameter in IContainerSet">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><CODE>Set</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerSortedSet</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html" title="type parameter in IContainerSortedSet">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util"><CODE>SortedSet</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/concurrent/ICorrelator.html" title="interface in org.eclipse.net4j.util.concurrent"><B>ICorrelator</B></A><<A HREF="./org/eclipse/net4j/util/concurrent/ICorrelator.html" title="type parameter in ICorrelator">CORRELATION</A>,<A HREF="./org/eclipse/net4j/util/concurrent/ICorrelator.html" title="type parameter in ICorrelator">VALUE</A>> - Interface in <A HREF="./org/eclipse/net4j/util/concurrent/package-summary.html">org.eclipse.net4j.util.concurrent</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/ICredentials.html" title="interface in org.eclipse.net4j.util.security"><B>ICredentials</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/ICredentialsProvider.html" title="interface in org.eclipse.net4j.util.security"><B>ICredentialsProvider</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/ui/views/IElementFilter.html" title="interface in org.eclipse.net4j.util.ui.views"><B>IElementFilter</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/ui/views/package-summary.html">org.eclipse.net4j.util.ui.views</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/IElementProcessor.html" title="interface in org.eclipse.net4j.util.container"><B>IElementProcessor</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Processes elements of a <A HREF="./org/eclipse/net4j/util/container/IManagedContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>managed container</CODE></A> when they're added to the container.<DT><A HREF="./org/eclipse/net4j/util/ui/container/IElementWizard.html" title="interface in org.eclipse.net4j.util.ui.container"><B>IElementWizard</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/ui/container/package-summary.html">org.eclipse.net4j.util.ui.container</A><DD> <DT><A HREF="./org/eclipse/net4j/util/IErrorHandler.html" title="interface in org.eclipse.net4j.util"><B>IErrorHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/package-summary.html">org.eclipse.net4j.util</A><DD>A callback interface with a <A HREF="./org/eclipse/net4j/util/IErrorHandler.html#handleError(java.lang.Throwable)"><CODE>handleError()</CODE></A> method.<DT><A HREF="./org/eclipse/net4j/util/event/IEvent.html" title="interface in org.eclipse.net4j.util.event"><B>IEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/event/package-summary.html">org.eclipse.net4j.util.event</A><DD>An event that is fired from a <A HREF="./org/eclipse/net4j/util/event/INotifier.html" title="interface in org.eclipse.net4j.util.event"><CODE>notifier</CODE></A> and can be handled by <A HREF="./org/eclipse/net4j/util/event/IListener.html" title="interface in org.eclipse.net4j.util.event"><CODE>listeners</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/factory/IFactory.html" title="interface in org.eclipse.net4j.util.factory"><B>IFactory</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/factory/package-summary.html">org.eclipse.net4j.util.factory</A><DD><A HREF="./org/eclipse/net4j/util/factory/IFactory.html#create(java.lang.String)"><CODE>Creates</CODE></A> objects from a string <A HREF="./org/eclipse/net4j/util/factory/IFactory.html#getDescriptionFor(java.lang.Object)"><CODE>description</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/factory/IFactoryKey.html" title="interface in org.eclipse.net4j.util.factory"><B>IFactoryKey</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/factory/package-summary.html">org.eclipse.net4j.util.factory</A><DD>Identifies a <A HREF="./org/eclipse/net4j/util/factory/IFactory.html" title="interface in org.eclipse.net4j.util.factory"><CODE>factory</CODE></A> by <A HREF="./org/eclipse/net4j/util/factory/IFactoryKey.html#getProductGroup()"><CODE>product group</CODE></A> and <A HREF="./org/eclipse/net4j/util/factory/IFactoryKey.html#getType()"><CODE>type</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/fsm/FiniteStateMachine.html#IGNORE"><B>IGNORE</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/cache/ICache.html" title="interface in org.eclipse.net4j.util.cache"><B>ICache</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitor.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheMonitor</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitor.Condition.html" title="enum in org.eclipse.net4j.util.cache"><B>ICacheMonitor.Condition</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitor.ConditionPolicy.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheMonitor.ConditionPolicy</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheMonitorEvent.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheMonitorEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheProbe.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheProbe</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ICacheRegistration.html" title="interface in org.eclipse.net4j.util.cache"><B>ICacheRegistration</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/IChallengeResponse.html" title="interface in org.eclipse.net4j.util.security"><B>IChallengeResponse</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/IChallengeResponse.Event.html" title="enum in org.eclipse.net4j.util.security"><B>IChallengeResponse.Event</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/IChallengeResponse.State.html" title="enum in org.eclipse.net4j.util.security"><B>IChallengeResponse.State</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><B>IContainer</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="type parameter in IContainer">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Contains a number of elements and notifies about element addition and removal.<DT><A HREF="./org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="interface in org.eclipse.net4j.util.container"><B>IContainer.Modifiable</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="type parameter in IContainer.Modifiable">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with additional methods to add or remove elements.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerBlockingQueue</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="type parameter in IContainerBlockingQueue">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerCollection.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerCollection</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerCollection.html" title="type parameter in IContainerCollection">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util"><CODE>Collection</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerDelta</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="type parameter in IContainerDelta">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Describes the addition or removal of a single element from a <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerDelta.Kind.html" title="enum in org.eclipse.net4j.util.container"><B>IContainerDelta.Kind</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Enumerates the possible <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container"><CODE>container delta</CODE></A> kinds <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.Kind.html#ADDED"><CODE>IContainerDelta.Kind.ADDED</CODE></A> or <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.Kind.html#REMOVED"><CODE>IContainerDelta.Kind.REMOVED</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerEvent.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerEvent</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerEvent.html" title="type parameter in IContainerEvent">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>An <A HREF="./org/eclipse/net4j/util/event/IEvent.html" title="interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> when its elements have changed.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerEventVisitor</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.html" title="type parameter in IContainerEventVisitor">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>A callback interface for visiting <A HREF="./org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container"><CODE>container deltas</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.Filtered.html" title="interface in org.eclipse.net4j.util.container"><B>IContainerEventVisitor.Filtered</B></A><<A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.Filtered.html" title="type parameter in IContainerEventVisitor.Filtered">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>An extension interface for <A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.html" title="interface in org.eclipse.net4j.util.container"><CODE>container event visitors</CODE></A> that can <A HREF="./org/eclipse/net4j/util/container/IContainerEventVisitor.Filtered.html#filter(E)"><CODE>filter</CODE></A> deltas from being visited.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerList.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerList</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerList.html" title="type parameter in IContainerList">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><CODE>List</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerMap.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerMap</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerMap.html" title="type parameter in IContainerMap">K</A>,<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerMap.html" title="type parameter in IContainerMap">V</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> (of <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util"><CODE>map entries</CODE></A>) that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerQueue.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerQueue</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerQueue.html" title="type parameter in IContainerQueue">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util"><CODE>Queue</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSet.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerSet</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSet.html" title="type parameter in IContainerSet">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><CODE>Set</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html" title="interface in org.eclipse.net4j.util.container.delegate"><B>IContainerSortedSet</B></A><<A HREF="./org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html" title="type parameter in IContainerSortedSet">E</A>> - Interface in <A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html">org.eclipse.net4j.util.container.delegate</A><DD>A <A HREF="./org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util"><CODE>SortedSet</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/concurrent/ICorrelator.html" title="interface in org.eclipse.net4j.util.concurrent"><B>ICorrelator</B></A><<A HREF="./org/eclipse/net4j/util/concurrent/ICorrelator.html" title="type parameter in ICorrelator">CORRELATION</A>,<A HREF="./org/eclipse/net4j/util/concurrent/ICorrelator.html" title="type parameter in ICorrelator">VALUE</A>> - Interface in <A HREF="./org/eclipse/net4j/util/concurrent/package-summary.html">org.eclipse.net4j.util.concurrent</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/ICredentials.html" title="interface in org.eclipse.net4j.util.security"><B>ICredentials</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/security/ICredentialsProvider.html" title="interface in org.eclipse.net4j.util.security"><B>ICredentialsProvider</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/security/package-summary.html">org.eclipse.net4j.util.security</A><DD> <DT><A HREF="./org/eclipse/net4j/util/ui/views/IElementFilter.html" title="interface in org.eclipse.net4j.util.ui.views"><B>IElementFilter</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/ui/views/package-summary.html">org.eclipse.net4j.util.ui.views</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/IElementProcessor.html" title="interface in org.eclipse.net4j.util.container"><B>IElementProcessor</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>Processes elements of a <A HREF="./org/eclipse/net4j/util/container/IManagedContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>managed container</CODE></A> when they're added to the container.<DT><A HREF="./org/eclipse/net4j/util/ui/container/IElementWizard.html" title="interface in org.eclipse.net4j.util.ui.container"><B>IElementWizard</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/ui/container/package-summary.html">org.eclipse.net4j.util.ui.container</A><DD> <DT><A HREF="./org/eclipse/net4j/util/IErrorHandler.html" title="interface in org.eclipse.net4j.util"><B>IErrorHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/package-summary.html">org.eclipse.net4j.util</A><DD>A callback interface with a <A HREF="./org/eclipse/net4j/util/IErrorHandler.html#handleError(java.lang.Throwable)"><CODE>handleError()</CODE></A> method.<DT><A HREF="./org/eclipse/net4j/util/event/IEvent.html" title="interface in org.eclipse.net4j.util.event"><B>IEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/event/package-summary.html">org.eclipse.net4j.util.event</A><DD>An event that is fired from a <A HREF="./org/eclipse/net4j/util/event/INotifier.html" title="interface in org.eclipse.net4j.util.event"><CODE>notifier</CODE></A> and can be handled by <A HREF="./org/eclipse/net4j/util/event/IListener.html" title="interface in org.eclipse.net4j.util.event"><CODE>listeners</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/factory/IFactory.html" title="interface in org.eclipse.net4j.util.factory"><B>IFactory</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/factory/package-summary.html">org.eclipse.net4j.util.factory</A><DD><A HREF="./org/eclipse/net4j/util/factory/IFactory.html#create(java.lang.String)"><CODE>Creates</CODE></A> objects from a string <A HREF="./org/eclipse/net4j/util/factory/IFactory.html#getDescriptionFor(java.lang.Object)"><CODE>description</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/factory/IFactoryKey.html" title="interface in org.eclipse.net4j.util.factory"><B>IFactoryKey</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/factory/package-summary.html">org.eclipse.net4j.util.factory</A><DD>Identifies a <A HREF="./org/eclipse/net4j/util/factory/IFactory.html" title="interface in org.eclipse.net4j.util.factory"><CODE>factory</CODE></A> by <A HREF="./org/eclipse/net4j/util/factory/IFactoryKey.html#getProductGroup()"><CODE>product group</CODE></A> and <A HREF="./org/eclipse/net4j/util/factory/IFactoryKey.html#getType()"><CODE>type</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/fsm/FiniteStateMachine.html#IGNORE"><B>IGNORE</B></A> - Static variable in class org.eclipse.net4j.util.fsm.<A HREF="./org/eclipse/net4j/util/fsm/FiniteStateMachine.html" title="class in org.eclipse.net4j.util.fsm">FiniteStateMachine</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/collection/IHistory.html" title="interface in org.eclipse.net4j.util.collection"><B>IHistory</B></A><<A HREF="./org/eclipse/net4j/util/collection/IHistory.html" title="type parameter in IHistory">T</A>> - Interface in <A HREF="./org/eclipse/net4j/util/collection/package-summary.html">org.eclipse.net4j.util.collection</A><DD> <DT><A HREF="./org/eclipse/net4j/util/collection/IHistoryChangeEvent.html" title="interface in org.eclipse.net4j.util.collection"><B>IHistoryChangeEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/collection/package-summary.html">org.eclipse.net4j.util.collection</A><DD> <DT><A HREF="./org/eclipse/net4j/util/collection/IHistoryElement.html" title="interface in org.eclipse.net4j.util.collection"><B>IHistoryElement</B></A><<A HREF="./org/eclipse/net4j/util/collection/IHistoryElement.html" title="type parameter in IHistoryElement">T</A>> - Interface in <A HREF="./org/eclipse/net4j/util/collection/package-summary.html">org.eclipse.net4j.util.collection</A><DD> <DT><A HREF="./org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><B>ILifecycle</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/lifecycle/package-summary.html">org.eclipse.net4j.util.lifecycle</A><DD>An entity that has a well-defined <A HREF="./org/eclipse/net4j/util/lifecycle/ILifecycle.html#getLifecycleState()"><CODE>lifecycle</CODE></A> and can be <A HREF="./org/eclipse/net4j/util/lifecycle/ILifecycle.html#activate()"><CODE>activated</CODE></A> or @@ -5241,7 +5249,7 @@ Method in class org.eclipse.net4j.util.lifecycle.<A HREF="./org/eclipse/net4j/ut <DT><A HREF="./org/eclipse/net4j/util/ReflectUtil.html#invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object...)"><B>invokeMethod(Method, Object, Object...)</B></A> - Static method in class org.eclipse.net4j.util.<A HREF="./org/eclipse/net4j/util/ReflectUtil.html" title="class in org.eclipse.net4j.util">ReflectUtil</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/io/IOFilter.html" title="interface in org.eclipse.net4j.util.io"><B>IOFilter</B></A><<A HREF="./org/eclipse/net4j/util/io/IOFilter.html" title="type parameter in IOFilter">T</A>> - Interface in <A HREF="./org/eclipse/net4j/util/io/package-summary.html">org.eclipse.net4j.util.io</A><DD> <DT><A HREF="./org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><B>IOptions</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD>Encapsulates a set of notifying configuration options.<DT><A HREF="./org/eclipse/net4j/util/options/IOptionsContainer.html" title="interface in org.eclipse.net4j.util.options"><B>IOptionsContainer</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD> <DT><A HREF="./org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><B>IOptionsEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD>A generic <A HREF="./org/eclipse/net4j/util/event/IEvent.html" title="interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from an <A HREF="./org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><CODE>options</CODE></A> object when an option has changed.<DT><A HREF="./org/eclipse/net4j/util/io/IORunnable.html" title="interface in org.eclipse.net4j.util.io"><B>IORunnable</B></A><<A HREF="./org/eclipse/net4j/util/io/IORunnable.html" title="type parameter in IORunnable">IO</A> extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>> - Interface in <A HREF="./org/eclipse/net4j/util/io/package-summary.html">org.eclipse.net4j.util.io</A><DD> <DT><A HREF="./org/eclipse/net4j/util/io/IORuntimeException.html" title="class in org.eclipse.net4j.util.io"><B>IORuntimeException</B></A> - Exception in <A HREF="./org/eclipse/net4j/util/io/package-summary.html">org.eclipse.net4j.util.io</A><DD> <DT><A HREF="./org/eclipse/net4j/util/io/IORuntimeException.html#IORuntimeException()"><B>IORuntimeException()</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/io/IOFilter.html" title="interface in org.eclipse.net4j.util.io"><B>IOFilter</B></A><<A HREF="./org/eclipse/net4j/util/io/IOFilter.html" title="type parameter in IOFilter">T</A>> - Interface in <A HREF="./org/eclipse/net4j/util/io/package-summary.html">org.eclipse.net4j.util.io</A><DD> <DT><A HREF="./org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><B>IOptions</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD>Encapsulates a set of notifying configuration options.<DT><A HREF="./org/eclipse/net4j/util/options/IOptionsContainer.html" title="interface in org.eclipse.net4j.util.options"><B>IOptionsContainer</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD>The container of an <A HREF="./org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><CODE>options set</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><B>IOptionsEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD>A generic <A HREF="./org/eclipse/net4j/util/event/IEvent.html" title="interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from an <A HREF="./org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><CODE>options</CODE></A> object when an option has changed.<DT><A HREF="./org/eclipse/net4j/util/io/IORunnable.html" title="interface in org.eclipse.net4j.util.io"><B>IORunnable</B></A><<A HREF="./org/eclipse/net4j/util/io/IORunnable.html" title="type parameter in IORunnable">IO</A> extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>> - Interface in <A HREF="./org/eclipse/net4j/util/io/package-summary.html">org.eclipse.net4j.util.io</A><DD> <DT><A HREF="./org/eclipse/net4j/util/io/IORuntimeException.html" title="class in org.eclipse.net4j.util.io"><B>IORuntimeException</B></A> - Exception in <A HREF="./org/eclipse/net4j/util/io/package-summary.html">org.eclipse.net4j.util.io</A><DD> <DT><A HREF="./org/eclipse/net4j/util/io/IORuntimeException.html#IORuntimeException()"><B>IORuntimeException()</B></A> - Constructor for exception org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/util/io/IORuntimeException.html" title="class in org.eclipse.net4j.util.io">IORuntimeException</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/io/IORuntimeException.html#IORuntimeException(java.lang.String)"><B>IORuntimeException(String)</B></A> - @@ -5804,7 +5812,7 @@ Method in class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/ <DT><A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html#logged(org.osgi.framework.BundleContext, org.eclipse.net4j.util.om.log.OMLogger.Level, java.lang.String, java.lang.Throwable)"><B>logged(BundleContext, OMLogger.Level, String, Throwable)</B></A> - Method in class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">OSGiLoggingBridge</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/log/Logger.html" title="class in org.eclipse.net4j.util.om.log"><B>Logger</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/Logger.html#Logger(org.eclipse.net4j.util.om.OMBundle)"><B>Logger(OMBundle)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/log/Logger.html" title="class in org.eclipse.net4j.util.om.log"><B>Logger</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>The default <A HREF="./org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>logger</CODE></A> implementation.<DT><A HREF="./org/eclipse/net4j/util/om/log/Logger.html#Logger(org.eclipse.net4j.util.om.OMBundle)"><B>Logger(OMBundle)</B></A> - Constructor for class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/Logger.html" title="class in org.eclipse.net4j.util.om.log">Logger</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.html#logger()"><B>logger()</B></A> - @@ -5917,6 +5925,9 @@ Method in class org.eclipse.net4j.util.registry.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/registry/DelegatingRegistry.html#mergedValues()"><B>mergedValues()</B></A> - Method in class org.eclipse.net4j.util.registry.<A HREF="./org/eclipse/net4j/util/registry/DelegatingRegistry.html" title="class in org.eclipse.net4j.util.registry">DelegatingRegistry</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#message"><B>message</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html#message"><B>message</B></A> - Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A> <DD> @@ -6240,8 +6251,8 @@ Method in class org.eclipse.net4j.util.ui.container.<A HREF="./org/eclipse/net4j Method in class org.eclipse.net4j.util.ui.security.<A HREF="./org/eclipse/net4j/util/ui/security/CredentialsDialog.html" title="class in org.eclipse.net4j.util.ui.security">CredentialsDialog</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><B>OMBundle</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>Represents a <CODE>bundle</CODE>, whether OSGi <A HREF="./org/eclipse/net4j/util/om/OMPlatform.html#isOSGiRunning()"><CODE>is running</CODE></A> or not.<DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.DebugSupport.html" title="interface in org.eclipse.net4j.util.om"><B>OMBundle.DebugSupport</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>A facility for accessing OSGi <CODE>debug options</CODE>, whether OSGi <A HREF="./org/eclipse/net4j/util/om/OMPlatform.html#isOSGiRunning()"><CODE>is - running</CODE></A> or not.<DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.TranslationSupport.html" title="interface in org.eclipse.net4j.util.om"><B>OMBundle.TranslationSupport</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>A facility for accessing <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>resource bundles</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><B>OMLogFilter</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>Filters log events before they are being passed to <A HREF="./org/eclipse/net4j/util/om/OMPlatform.html#addLogFilter(org.eclipse.net4j.util.om.log.OMLogFilter)"><CODE>registered</CODE></A> - <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log"><B>OMLogger</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><B>OMLogger.Level</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><B>OMLogHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/OMMonitor.html" title="interface in org.eclipse.net4j.util.om.monitor"><B>OMMonitor</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/OMMonitor.Async.html" title="interface in org.eclipse.net4j.util.om.monitor"><B>OMMonitor.Async</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/OMMonitorProgress.html" title="interface in org.eclipse.net4j.util.om.monitor"><B>OMMonitorProgress</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/OMPlatform.html" title="interface in org.eclipse.net4j.util.om"><B>OMPlatform</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>Represents the platform that <A HREF="./org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundles</CODE></A> are deployed into, whether OSGi <A HREF="./org/eclipse/net4j/util/om/OMPlatform.html#isOSGiRunning()"><CODE>is + running</CODE></A> or not.<DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.TranslationSupport.html" title="interface in org.eclipse.net4j.util.om"><B>OMBundle.TranslationSupport</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>A facility for accessing <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>resource bundles</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><B>OMLogFilter</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>Filters log events before they are being passed to the registered <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log"><B>OMLogger</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>The <A HREF="./org/eclipse/net4j/util/om/OMBundle.html#logger()"><CODE>logger</CODE></A> of a <A HREF="./org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><B>OMLogger.Level</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>Enumerates the possible severity levels of log events.<DT><A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><B>OMLogHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>Handles <A HREF="./org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>filtered</CODE></A> log events, for example appends them to a <A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>stream</CODE></A> or + the Eclipse <A HREF="./org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><CODE>error log</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/monitor/OMMonitor.html" title="interface in org.eclipse.net4j.util.om.monitor"><B>OMMonitor</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/OMMonitor.Async.html" title="interface in org.eclipse.net4j.util.om.monitor"><B>OMMonitor.Async</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/monitor/OMMonitorProgress.html" title="interface in org.eclipse.net4j.util.om.monitor"><B>OMMonitorProgress</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html">org.eclipse.net4j.util.om.monitor</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/OMPlatform.html" title="interface in org.eclipse.net4j.util.om"><B>OMPlatform</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>Represents the platform that <A HREF="./org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundles</CODE></A> are deployed into, whether OSGi <A HREF="./org/eclipse/net4j/util/om/OMPlatform.html#isOSGiRunning()"><CODE>is running</CODE></A> or not.<DT><A HREF="./org/eclipse/net4j/util/om/pref/OMPreference.html" title="interface in org.eclipse.net4j.util.om.pref"><B>OMPreference</B></A><<A HREF="./org/eclipse/net4j/util/om/pref/OMPreference.html" title="type parameter in OMPreference">T</A>> - Interface in <A HREF="./org/eclipse/net4j/util/om/pref/package-summary.html">org.eclipse.net4j.util.om.pref</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/pref/OMPreference.Type.html" title="enum in org.eclipse.net4j.util.om.pref"><B>OMPreference.Type</B></A> - Enum in <A HREF="./org/eclipse/net4j/util/om/pref/package-summary.html">org.eclipse.net4j.util.om.pref</A><DD> <DT><A HREF="./org/eclipse/net4j/util/ui/prefs/OMPreferencePage.html" title="class in org.eclipse.net4j.util.ui.prefs"><B>OMPreferencePage</B></A> - Class in <A HREF="./org/eclipse/net4j/util/ui/prefs/package-summary.html">org.eclipse.net4j.util.ui.prefs</A><DD> <DT><A HREF="./org/eclipse/net4j/util/ui/prefs/OMPreferencePage.html#OMPreferencePage(org.eclipse.net4j.util.om.pref.OMPreferences)"><B>OMPreferencePage(OMPreferences)</B></A> - Constructor for class org.eclipse.net4j.util.ui.prefs.<A HREF="./org/eclipse/net4j/util/ui/prefs/OMPreferencePage.html" title="class in org.eclipse.net4j.util.ui.prefs">OMPreferencePage</A> <DD> @@ -6249,7 +6260,8 @@ Constructor for class org.eclipse.net4j.util.ui.prefs.<A HREF="./org/eclipse/net value has changed.<DT><A HREF="./org/eclipse/net4j/util/ui/prefs/OMPreferenceStore.html" title="class in org.eclipse.net4j.util.ui.prefs"><B>OMPreferenceStore</B></A> - Class in <A HREF="./org/eclipse/net4j/util/ui/prefs/package-summary.html">org.eclipse.net4j.util.ui.prefs</A><DD> <DT><A HREF="./org/eclipse/net4j/util/ui/prefs/OMPreferenceStore.html#OMPreferenceStore(org.eclipse.net4j.util.om.pref.OMPreferences)"><B>OMPreferenceStore(OMPreferences)</B></A> - Constructor for class org.eclipse.net4j.util.ui.prefs.<A HREF="./org/eclipse/net4j/util/ui/prefs/OMPreferenceStore.html" title="class in org.eclipse.net4j.util.ui.prefs">OMPreferenceStore</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><B>OMTraceHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><B>OMTraceHandlerEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><B>OMTracer</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/io/DigestWriter.html#on(boolean)"><B>on(boolean)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><B>OMTraceHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>Handles <A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A>, for example appends them to a <A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>stream</CODE></A> sends them to a + <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>remote</CODE></A> trace handler.<DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><B>OMTraceHandlerEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>Encapsulates the information of a trace event.<DT><A HREF="./org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><B>OMTracer</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A <A HREF="./org/eclipse/net4j/util/om/trace/OMTracer.html#getName()"><CODE>named</CODE></A> <A HREF="./org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><CODE>tracer</CODE></A> within the <A HREF="./org/eclipse/net4j/util/om/trace/OMTracer.html#getParent()"><CODE>hierarchy</CODE></A> of tracers of a <A HREF="./org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/io/DigestWriter.html#on(boolean)"><B>on(boolean)</B></A> - Method in class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/util/io/DigestWriter.html" title="class in org.eclipse.net4j.util.io">DigestWriter</A> <DD>Turns the digest function on or off. <DT><A HREF="./org/eclipse/net4j/util/lifecycle/LifecycleEventAdapter.html#onAboutToActivate(org.eclipse.net4j.util.lifecycle.ILifecycle)"><B>onAboutToActivate(ILifecycle)</B></A> - @@ -6315,7 +6327,7 @@ Static method in class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/ut <DT><A HREF="./org/eclipse/net4j/util/options/IOptionsContainer.html#options()"><B>options()</B></A> - Method in interface org.eclipse.net4j.util.options.<A HREF="./org/eclipse/net4j/util/options/IOptionsContainer.html" title="interface in org.eclipse.net4j.util.options">IOptionsContainer</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options"><B>OptionsEvent</B></A> - Class in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD> <DT><A HREF="./org/eclipse/net4j/util/options/OptionsEvent.html#OptionsEvent(org.eclipse.net4j.util.options.IOptions)"><B>OptionsEvent(IOptions)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options"><B>OptionsEvent</B></A> - Class in <A HREF="./org/eclipse/net4j/util/options/package-summary.html">org.eclipse.net4j.util.options</A><DD>The default implementation of an <A HREF="./org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><CODE>options event</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/options/OptionsEvent.html#OptionsEvent(org.eclipse.net4j.util.options.IOptions)"><B>OptionsEvent(IOptions)</B></A> - Constructor for class org.eclipse.net4j.util.options.<A HREF="./org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options">OptionsEvent</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/package-summary.html"><B>org.eclipse.net4j.util</B></A> - package org.eclipse.net4j.util<DD>Utility classes.<DT><A HREF="./org/eclipse/net4j/util/cache/package-summary.html"><B>org.eclipse.net4j.util.cache</B></A> - package org.eclipse.net4j.util.cache<DD>A generic caching and memory monitoring framework.<DT><A HREF="./org/eclipse/net4j/util/collection/package-summary.html"><B>org.eclipse.net4j.util.collection</B></A> - package org.eclipse.net4j.util.collection<DD>Additional collection-like interfaces and classes.<DT><A HREF="./org/eclipse/net4j/util/concurrent/package-summary.html"><B>org.eclipse.net4j.util.concurrent</B></A> - package org.eclipse.net4j.util.concurrent<DD>Utility interfaces and classes commonly useful in concurrent programming.<DT><A HREF="./org/eclipse/net4j/util/container/package-summary.html"><B>org.eclipse.net4j.util.container</B></A> - package org.eclipse.net4j.util.container<DD>A framework of notifying collections and wiring containers.<DT><A HREF="./org/eclipse/net4j/util/container/delegate/package-summary.html"><B>org.eclipse.net4j.util.container.delegate</B></A> - package org.eclipse.net4j.util.container.delegate<DD>Hybrid interfaces of notifying containers and the Java Collection Framework.<DT><A HREF="./org/eclipse/net4j/util/event/package-summary.html"><B>org.eclipse.net4j.util.event</B></A> - package org.eclipse.net4j.util.event<DD>A framework for sending of and listening to events.<DT><A HREF="./org/eclipse/net4j/util/factory/package-summary.html"><B>org.eclipse.net4j.util.factory</B></A> - package org.eclipse.net4j.util.factory<DD>A framework for factory based instance creation.<DT><A HREF="./org/eclipse/net4j/util/fsm/package-summary.html"><B>org.eclipse.net4j.util.fsm</B></A> - package org.eclipse.net4j.util.fsm<DD>A framework for <a href="http://en.wikipedia.org/wiki/Finite-state_machine">finite state machines</a>.<DT><A HREF="./org/eclipse/net4j/util/io/package-summary.html"><B>org.eclipse.net4j.util.io</B></A> - package org.eclipse.net4j.util.io<DD>Interfaces and classes for I/O.<DT><A HREF="./org/eclipse/net4j/util/lifecycle/package-summary.html"><B>org.eclipse.net4j.util.lifecycle</B></A> - package org.eclipse.net4j.util.lifecycle<DD>A framework for components with a simple lifecycle.<DT><A HREF="./org/eclipse/net4j/util/om/package-summary.html"><B>org.eclipse.net4j.util.om</B></A> - package org.eclipse.net4j.util.om<DD>Interfaces and classes for platform-independent <i>operations and maintenance</i> (O&M).<DT><A HREF="./org/eclipse/net4j/util/om/log/package-summary.html"><B>org.eclipse.net4j.util.om.log</B></A> - package org.eclipse.net4j.util.om.log<DD>Interfaces and classes for platform-independent logging.<DT><A HREF="./org/eclipse/net4j/util/om/monitor/package-summary.html"><B>org.eclipse.net4j.util.om.monitor</B></A> - package org.eclipse.net4j.util.om.monitor<DD>Interfaces and classes for platform-independent progress monitoring.<DT><A HREF="./org/eclipse/net4j/util/om/pref/package-summary.html"><B>org.eclipse.net4j.util.om.pref</B></A> - package org.eclipse.net4j.util.om.pref<DD>Interfaces and classes for platform-independent preference management.<DT><A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html"><B>org.eclipse.net4j.util.om.trace</B></A> - package org.eclipse.net4j.util.om.trace<DD>Interfaces and classes for platform-independent tracing.<DT><A HREF="./org/eclipse/net4j/util/options/package-summary.html"><B>org.eclipse.net4j.util.options</B></A> - package org.eclipse.net4j.util.options<DD>A framework for option containers that fire change events.<DT><A HREF="./org/eclipse/net4j/util/properties/package-summary.html"><B>org.eclipse.net4j.util.properties</B></A> - package org.eclipse.net4j.util.properties<DD>A framework to describe and access properties of POJOs and to support Eclipse @@ -6332,7 +6344,7 @@ Constructor for class org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/om/OSGiApplication.html" title="class in org.eclipse.net4j.util.om"><B>OSGiApplication</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/package-summary.html">org.eclipse.net4j.util.om</A><DD>A default implementation of an OSGi <CODE>application</CODE>.<DT><A HREF="./org/eclipse/net4j/util/om/OSGiApplication.html#OSGiApplication(java.lang.String)"><B>OSGiApplication(String)</B></A> - Constructor for class org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/om/OSGiApplication.html" title="class in org.eclipse.net4j.util.om">OSGiApplication</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><B>OSGiLoggingBridge</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html#OSGiLoggingBridge()"><B>OSGiLoggingBridge()</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><B>OSGiLoggingBridge</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>A <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the OSGi <CODE>log service</CODE>.<DT><A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html#OSGiLoggingBridge()"><B>OSGiLoggingBridge()</B></A> - Constructor for class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">OSGiLoggingBridge</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/io/DelegatingOutputStream.html#out"><B>out</B></A> - @@ -6394,7 +6406,7 @@ Method in class org.eclipse.net4j.util.ui.dnd.<A HREF="./org/eclipse/net4j/util/ <DT><A HREF="./org/eclipse/net4j/util/ui/dnd/DNDDropAdapter.html#performDrop(TYPE, java.lang.Object)"><B>performDrop(TYPE, Object)</B></A> - Method in class org.eclipse.net4j.util.ui.dnd.<A HREF="./org/eclipse/net4j/util/ui/dnd/DNDDropAdapter.html" title="class in org.eclipse.net4j.util.ui.dnd">DNDDropAdapter</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/PerfTracer.html" title="class in org.eclipse.net4j.util.om.trace"><B>PerfTracer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/PerfTracer.html#PerfTracer(org.eclipse.net4j.util.om.trace.OMTracer, java.lang.Class)"><B>PerfTracer(OMTracer, Class<?>)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/PerfTracer.html" title="class in org.eclipse.net4j.util.om.trace"><B>PerfTracer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A <A HREF="./org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>context tracer</CODE></A> that maintains a number of timers for performance measurements.<DT><A HREF="./org/eclipse/net4j/util/om/trace/PerfTracer.html#PerfTracer(org.eclipse.net4j.util.om.trace.OMTracer, java.lang.Class)"><B>PerfTracer(OMTracer, Class<?>)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/PerfTracer.html" title="class in org.eclipse.net4j.util.om.trace">PerfTracer</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/transaction/ITransactionalOperation.html#phase1(CONTEXT)"><B>phase1(CONTEXT)</B></A> - @@ -6466,7 +6478,7 @@ Static method in class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/ut <DT><A HREF="./org/eclipse/net4j/util/io/IOUtil.html#print(java.lang.Throwable)"><B>print(Throwable)</B></A> - Static method in class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/util/io/IOUtil.html" title="class in org.eclipse.net4j.util.io">IOUtil</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><B>PrintLogHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#PrintLogHandler(java.io.PrintStream, java.io.PrintStream)"><B>PrintLogHandler(PrintStream, PrintStream)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><B>PrintLogHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/log/package-summary.html">org.eclipse.net4j.util.om.log</A><DD>A <A HREF="./org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to <A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><CODE>error</CODE></A> and <A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><CODE>output</CODE></A> streams.<DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#PrintLogHandler(java.io.PrintStream, java.io.PrintStream)"><B>PrintLogHandler(PrintStream, PrintStream)</B></A> - Constructor for class org.eclipse.net4j.util.om.log.<A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log">PrintLogHandler</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/log/PrintLogHandler.html#PrintLogHandler()"><B>PrintLogHandler()</B></A> - @@ -6478,7 +6490,8 @@ Static method in class org.eclipse.net4j.util.<A HREF="./org/eclipse/net4j/util/ <DT><A HREF="./org/eclipse/net4j/util/ReflectUtil.html#printStackTrace(java.lang.StackTraceElement[])"><B>printStackTrace(StackTraceElement[])</B></A> - Static method in class org.eclipse.net4j.util.<A HREF="./org/eclipse/net4j/util/ReflectUtil.html" title="class in org.eclipse.net4j.util">ReflectUtil</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><B>PrintTraceHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#PrintTraceHandler(java.io.PrintStream)"><B>PrintTraceHandler(PrintStream)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><B>PrintTraceHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A <A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that appends <A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to a <A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()"><CODE>print stream</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#PrintTraceHandler(java.io.PrintStream)"><B>PrintTraceHandler(PrintStream)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">PrintTraceHandler</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#PrintTraceHandler()"><B>PrintTraceHandler()</B></A> - @@ -7030,7 +7043,7 @@ Method in class org.eclipse.net4j.util.registry.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/registry/Registry.Transaction.html#rememberRegistered(K, V)"><B>rememberRegistered(K, V)</B></A> - Method in class org.eclipse.net4j.util.registry.<A HREF="./org/eclipse/net4j/util/registry/Registry.Transaction.html" title="class in org.eclipse.net4j.util.registry">Registry.Transaction</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html#RemoteTraceHandler()"><B>RemoteTraceHandler()</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceHandler</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A <A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that sends <A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a remote trace <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html#RemoteTraceHandler()"><B>RemoteTraceHandler()</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceHandler</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html#RemoteTraceHandler(java.lang.String)"><B>RemoteTraceHandler(String)</B></A> - @@ -7042,7 +7055,8 @@ Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html#RemoteTraceHandler(java.lang.String, java.lang.String, int)"><B>RemoteTraceHandler(String, String, int)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceHandler</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#RemoteTraceServer()"><B>RemoteTraceServer()</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A server that <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>agents</CODE></A> can connect to and that passes the received <A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#RemoteTraceServer()"><B>RemoteTraceServer()</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#RemoteTraceServer(int)"><B>RemoteTraceServer(int)</B></A> - @@ -7051,7 +7065,11 @@ Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#RemoteTraceServer(int, java.lang.String)"><B>RemoteTraceServer(int, String)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.Event</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.Listener</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.PrintListener</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#RemoteTraceServer.PrintListener(java.io.PrintStream)"><B>RemoteTraceServer.PrintListener(PrintStream)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.Event</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A trace event being passed by a remote trace <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A> to + <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#RemoteTraceServer.Event(org.eclipse.net4j.util.om.trace.RemoteTraceServer)"><B>RemoteTraceServer.Event(RemoteTraceServer)</B></A> - +Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.Listener</B></A> - Interface in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>Listens to <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> being passed by a remote trace <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.PrintListener</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>A <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listener</CODE></A> that appends <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a <A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><CODE>print stream</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#RemoteTraceServer.PrintListener(java.io.PrintStream)"><B>RemoteTraceServer.PrintListener(PrintStream)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#RemoteTraceServer.PrintListener()"><B>RemoteTraceServer.PrintListener()</B></A> - @@ -7582,7 +7600,7 @@ Method in class org.eclipse.net4j.util.cache.<A HREF="./org/eclipse/net4j/util/c <DT><A HREF="./org/eclipse/net4j/util/cache/CacheMonitor.html#setConditionPolicy(org.eclipse.net4j.util.cache.ICacheMonitor.ConditionPolicy)"><B>setConditionPolicy(ICacheMonitor.ConditionPolicy)</B></A> - Method in class org.eclipse.net4j.util.cache.<A HREF="./org/eclipse/net4j/util/cache/CacheMonitor.html" title="class in org.eclipse.net4j.util.cache">CacheMonitor</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container"><B>SetContainer</B></A><<A HREF="./org/eclipse/net4j/util/container/SetContainer.html" title="type parameter in SetContainer">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD> <DT><A HREF="./org/eclipse/net4j/util/container/SetContainer.html#SetContainer(java.lang.Class)"><B>SetContainer(Class<E>)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container"><B>SetContainer</B></A><<A HREF="./org/eclipse/net4j/util/container/SetContainer.html" title="type parameter in SetContainer">E</A>> - Class in <A HREF="./org/eclipse/net4j/util/container/package-summary.html">org.eclipse.net4j.util.container</A><DD>An implementation of a <A HREF="./org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="./org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="./org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/container/SetContainer.html#SetContainer(java.lang.Class)"><B>SetContainer(Class<E>)</B></A> - Constructor for class org.eclipse.net4j.util.container.<A HREF="./org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/container/SetContainer.html#SetContainer(java.lang.Class, java.util.Set)"><B>SetContainer(Class<E>, Set<E>)</B></A> - @@ -8069,6 +8087,9 @@ Constructor for class org.eclipse.net4j.util.io.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/container/SetContainer.html#sortElements(E[])"><B>sortElements(E[])</B></A> - Method in class org.eclipse.net4j.util.container.<A HREF="./org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#stackTrace"><B>stackTrace</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/OSGiActivator.html#start(org.osgi.framework.BundleContext)"><B>start(BundleContext)</B></A> - Method in class org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/om/OSGiActivator.html" title="class in org.eclipse.net4j.util.om">OSGiActivator</A> <DD> @@ -8215,6 +8236,9 @@ Static variable in interface org.eclipse.net4j.util.om.monitor.<A HREF="./org/ec <DT><A HREF="./org/eclipse/net4j/util/cache/ThresholdConditionPolicy.html" title="class in org.eclipse.net4j.util.cache"><B>ThresholdConditionPolicy</B></A> - Class in <A HREF="./org/eclipse/net4j/util/cache/package-summary.html">org.eclipse.net4j.util.cache</A><DD> <DT><A HREF="./org/eclipse/net4j/util/cache/ThresholdConditionPolicy.html#ThresholdConditionPolicy(long, long)"><B>ThresholdConditionPolicy(long, long)</B></A> - Constructor for class org.eclipse.net4j.util.cache.<A HREF="./org/eclipse/net4j/util/cache/ThresholdConditionPolicy.html" title="class in org.eclipse.net4j.util.cache">ThresholdConditionPolicy</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#throwable"><B>throwable</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html#throwable"><B>throwable</B></A> - Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A> <DD> @@ -8470,7 +8494,7 @@ Method in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/uti <DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html#traced(org.eclipse.net4j.util.om.trace.OMTraceHandlerEvent)"><B>traced(OMTraceHandlerEvent)</B></A> - Method in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceHandler</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><B>TraceHandlerEvent</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html#TraceHandlerEvent(org.eclipse.net4j.util.om.trace.OMTracer, java.lang.Class, java.lang.String, java.lang.Throwable)"><B>TraceHandlerEvent(OMTracer, Class<?>, String, Throwable)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><B>TraceHandlerEvent</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>The default implementation of a <A HREF="./org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace event</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html#TraceHandlerEvent(org.eclipse.net4j.util.om.trace.OMTracer, java.lang.Class, java.lang.String, java.lang.Throwable)"><B>TraceHandlerEvent(OMTracer, Class<?>, String, Throwable)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><B>tracer(String)</B></A> - @@ -8482,12 +8506,15 @@ Method in interface org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j <DT><A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html#tracer"><B>tracer</B></A> - Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A> <DD> -<DT><A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html" title="class in org.eclipse.net4j.util.om.trace"><B>Tracer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html#Tracer(org.eclipse.net4j.util.om.OMBundle, java.lang.String)"><B>Tracer(OMBundle, String)</B></A> - +<DT><A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html" title="class in org.eclipse.net4j.util.om.trace"><B>Tracer</B></A> - Class in <A HREF="./org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A><DD>The default implementation of a <A HREF="./org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>.<DT><A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html#Tracer(org.eclipse.net4j.util.om.OMBundle, java.lang.String)"><B>Tracer(OMBundle, String)</B></A> - Constructor for class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html" title="class in org.eclipse.net4j.util.om.trace">Tracer</A> <DD> <DT><A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html#tracer(java.lang.String)"><B>tracer(String)</B></A> - Method in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/Tracer.html" title="class in org.eclipse.net4j.util.om.trace">Tracer</A> <DD> +<DT><A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#tracerName"><B>tracerName</B></A> - +Variable in class org.eclipse.net4j.util.om.trace.<A HREF="./org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> +<DD> <DT><A HREF="./org/eclipse/net4j/util/om/OSGiActivator.html#traceStart(org.osgi.framework.BundleContext)"><B>traceStart(BundleContext)</B></A> - Static method in class org.eclipse.net4j.util.om.<A HREF="./org/eclipse/net4j/util/om/OSGiActivator.html" title="class in org.eclipse.net4j.util.om">OSGiActivator</A> <DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/ConcurrentValue.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/ConcurrentValue.html index 9559db0af6..e7c4bbc455 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/ConcurrentValue.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/ConcurrentValue.html @@ -110,8 +110,8 @@ Class ConcurrentValue<T></H2> <P> -Allow synchronization between many threads for a specific value, e.g.: - +Allow synchronization between many threads for a specific value. + <pre> MainThread cv.set(1); Thread1 cv.acquire(3); @@ -128,9 +128,9 @@ Allow synchronization between many threads for a specific value, e.g.: ... // Thread 1,2,3 and 4 are blocked // Thread 5 isn't blocked. - + MainThread cv.set(3); - + // Thread 1 and 4 are unblocked. // Thread 2 and 3 are still blocked. </pre> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/package-summary.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/package-summary.html index 08bec17349..86a41724ce 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/package-summary.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/package-summary.html @@ -158,24 +158,7 @@ Utility interfaces and classes commonly useful in concurrent programming. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/concurrent/ConcurrentValue.html" title="class in org.eclipse.net4j.util.concurrent">ConcurrentValue<T></A></B></TD> -<TD>Allow synchronization between many threads for a specific value, e.g.: - - - MainThread cv.set(1); - Thread1 cv.acquire(3); - Thread2 cv.acquire(4); - Thread3 cv.acquire(100); - Thread4 cv.acquire(new Object() - { - public boolean equals(Object other) - { - return other.equals(2) || other.equals(3); - } - }); - Thread5 cv.acquire(1); - ... - // Thread 1,2,3 and 4 are blocked - // Thread 5 isn't blocked.</TD> +<TD>Allow synchronization between many threads for a specific value.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/concurrent/ExecutorServiceFactory.html" title="class in org.eclipse.net4j.util.concurrent">ExecutorServiceFactory</A></B></TD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/Container.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/Container.html index feaaa4295d..2a8f5e16f3 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/Container.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/Container.html @@ -123,7 +123,7 @@ Class Container<E></H2> <P> -A default <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>. +An abstract base implementation of a <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>. <P> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.Modifiable.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.Modifiable.html index 5aefbd4ea8..f05e30ea66 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.Modifiable.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.Modifiable.html @@ -113,6 +113,10 @@ Interface IContainer.Modifiable<E></H2> <P> +A <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with additional methods to add or remove elements. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.html index 1c5acfdee1..289003568d 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IContainer.html @@ -151,7 +151,7 @@ Contains a number of elements and notifies about element addition and removal. <TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="interface in org.eclipse.net4j.util.container">IContainer.Modifiable</A><<A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="type parameter in IContainer.Modifiable">E</A>></B></CODE> <BR> - </TD> + A <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with additional methods to add or remove elements.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.html index 849b51043f..4015d4a703 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.html @@ -108,8 +108,10 @@ Class SetContainer<E></H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="Container.html" title="Container" alt="" coords="15,6,92,31"/> -<area shape="rect" id="node2" href="SetContainer.html" title="SetContainer" alt="" coords="5,71,101,97"/> +<area shape="rect" id="node1" href="delegate/IContainerSortedSet.html" title="«interface» IContainerSortedSet (org.eclipse.net4j.util.container.delegate)" alt="" coords="5,158,261,213"/> +<area shape="rect" id="node2" href="delegate/IContainerSet.html" title="«interface» IContainerSet (org.eclipse.net4j.util.container.delegate)" alt="" coords="291,158,547,213"/> +<area shape="rect" id="node3" href="Container.html" title="Container" alt="" coords="237,6,315,31"/> +<area shape="rect" id="node4" href="SetContainer.html" title="SetContainer" alt="" coords="227,75,324,101"/> </map> <CENTER><IMG SRC="SetContainer.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -117,10 +119,15 @@ Class SetContainer<E></H2> <P> +An implementation of a <A HREF="../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>3.2</DD> -</DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/net4j/util/container/delegate/IContainerSet.html" title="interface in org.eclipse.net4j.util.container.delegate"><CODE>IContainerSet</CODE></A>, +<A HREF="../../../../../org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html" title="interface in org.eclipse.net4j.util.container.delegate"><CODE>IContainerSortedSet</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.png Binary files differindex 403c13e2c9..0ae9cba2b4 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/SetContainer.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/Container.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/Container.html index 01a6316749..24331a314a 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/Container.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/Container.html @@ -120,7 +120,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.ht <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/IContainer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/IContainer.html index f320247ccf..54ae18c402 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/IContainer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/class-use/IContainer.html @@ -128,7 +128,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.h <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="interface in org.eclipse.net4j.util.container">IContainer.Modifiable<E></A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with additional methods to add or remove elements.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -162,7 +162,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.h <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></CODE> <BR> - A default <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -178,7 +178,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.h <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> @@ -308,7 +308,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.h <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate">IContainerBlockingQueue<E></A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html index 517c117b50..ea076ab433 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html @@ -115,6 +115,10 @@ Interface IContainerBlockingQueue<E></H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.html index 613cd71a33..40694fbe19 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.html @@ -107,11 +107,12 @@ Interface IContainerSet<E></H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" title="«interface» Set (java.util)" alt="" coords="35,6,120,61"/> -<area shape="rect" id="node2" href="IContainerSortedSet.html" title="«interface» IContainerSortedSet" alt="" coords="5,179,144,219"/> -<area shape="rect" id="node3" href="IContainerSet.html" title="«interface» IContainerSet" alt="" coords="98,100,197,140"/> -<area shape="rect" id="node4" href="IContainerCollection.html" title="«interface» IContainerCollection" alt="" coords="150,13,287,53"/> -<area shape="rect" id="node5" href="ContainerSet.html" title="ContainerSet" alt="" coords="174,186,271,211"/> +<area shape="rect" id="node1" title="«interface» Set (java.util)" alt="" coords="5,6,91,61"/> +<area shape="rect" id="node2" href="IContainerSortedSet.html" title="«interface» IContainerSortedSet" alt="" coords="47,200,185,240"/> +<area shape="rect" id="node3" href="IContainerSet.html" title="«interface» IContainerSet" alt="" coords="139,117,239,157"/> +<area shape="rect" id="node4" href="IContainerCollection.html" title="«interface» IContainerCollection" alt="" coords="121,13,257,53"/> +<area shape="rect" id="node5" href="../SetContainer.html" title="SetContainer (org.eclipse.net4j.util.container)" alt="" coords="288,13,491,53"/> +<area shape="rect" id="node6" href="ContainerSet.html" title="ContainerSet" alt="" coords="215,207,312,233"/> </map> <CENTER><IMG SRC="IContainerSet.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -123,6 +124,8 @@ A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" t <P> <P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container"><CODE>SetContainer</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.png Binary files differindex fea3ae43f2..12725dd075 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSet.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html index ca5d6a656c..de7904d812 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.html @@ -105,9 +105,10 @@ Interface IContainerSortedSet<E></H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" title="«interface» SortedSet (java.util)" alt="" coords="5,6,91,61"/> -<area shape="rect" id="node2" href="IContainerSortedSet.html" title="«interface» IContainerSortedSet" alt="" coords="40,100,179,140"/> +<area shape="rect" id="node2" href="IContainerSortedSet.html" title="«interface» IContainerSortedSet" alt="" coords="101,117,240,157"/> <area shape="rect" id="node3" href="IContainerSet.html" title="«interface» IContainerSet" alt="" coords="121,13,220,53"/> -<area shape="rect" id="node4" href="ContainerSortedSet.html" title="ContainerSortedSet" alt="" coords="42,179,176,205"/> +<area shape="rect" id="node4" href="../SetContainer.html" title="SetContainer (org.eclipse.net4j.util.container)" alt="" coords="251,13,453,53"/> +<area shape="rect" id="node5" href="ContainerSortedSet.html" title="ContainerSortedSet" alt="" coords="103,201,237,226"/> </map> <CENTER><IMG SRC="IContainerSortedSet.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.png Binary files differindex 5bf094accf..5dd3650a8f 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerCollection.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerCollection.html index 69af2b7dc9..47d55ffbe1 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerCollection.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerCollection.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/container/delegate/ <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate">IContainerBlockingQueue<E></A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerQueue.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerQueue.html index 52c4b3fad6..1ba84b3fd8 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerQueue.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/class-use/IContainerQueue.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/container/delegate/ <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate">IContainerBlockingQueue<E></A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-summary.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-summary.html index 0e82b34d59..430a49bcd4 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-summary.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-summary.html @@ -114,7 +114,7 @@ Hybrid interfaces of notifying containers and the Java Collection Framework. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate">IContainerBlockingQueue<E></A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/IContainerCollection.html" title="interface in org.eclipse.net4j.util.container.delegate">IContainerCollection<E></A></B></TD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-use.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-use.html index 37b98c915c..1b8a68c065 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-use.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/delegate/package-use.html @@ -136,7 +136,7 @@ Classes in <A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/ <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/class-use/IContainerBlockingQueue.html#org.eclipse.net4j.util.container.delegate"><B>IContainerBlockingQueue</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/class-use/IContainerCollection.html#org.eclipse.net4j.util.container.delegate"><B>IContainerCollection</B></A></B> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-summary.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-summary.html index 2f97c81783..6110beacb2 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-summary.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-summary.html @@ -118,7 +118,7 @@ A framework of notifying collections and wiring containers. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="interface in org.eclipse.net4j.util.container">IContainer.Modifiable<E></A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with additional methods to add or remove elements.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/container/IContainerDelta.html" title="interface in org.eclipse.net4j.util.container">IContainerDelta<E></A></B></TD> @@ -166,7 +166,7 @@ A framework of notifying collections and wiring containers. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></TD> -<TD>A default <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> +<TD>An abstract base implementation of a <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/container/ContainerDelta.html" title="class in org.eclipse.net4j.util.container">ContainerDelta<E></A></B></TD> @@ -196,7 +196,7 @@ A framework of notifying collections and wiring containers. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></TD> -<TD> </TD> +<TD>An implementation of a <A HREF="../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/container/SingleDeltaContainerEvent.html" title="class in org.eclipse.net4j.util.container">SingleDeltaContainerEvent<E></A></B></TD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-use.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-use.html index d490f9c3a0..642108e4f0 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-use.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/package-use.html @@ -150,7 +150,7 @@ Classes in <A HREF="../../../../../org/eclipse/net4j/util/container/package-summ <TD><B><A HREF="../../../../../org/eclipse/net4j/util/container/class-use/Container.html#org.eclipse.net4j.util.container"><B>Container</B></A></B> <BR> - A default <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../org/eclipse/net4j/util/container/class-use/ContainerEvent.html#org.eclipse.net4j.util.container"><B>ContainerEvent</B></A></B> @@ -267,7 +267,7 @@ Classes in <A HREF="../../../../../org/eclipse/net4j/util/container/package-summ <TD><B><A HREF="../../../../../org/eclipse/net4j/util/container/class-use/Container.html#org.eclipse.net4j.util.registry"><B>Container</B></A></B> <BR> - A default <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../org/eclipse/net4j/util/container/class-use/IContainer.html#org.eclipse.net4j.util.registry"><B>IContainer</B></A></B> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Event.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Event.html index 1475edd687..0e432b47a5 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Event.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Event.html @@ -244,7 +244,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/Event.html" titl <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options">OptionsEvent</A></B></CODE> <BR> - </TD> + The default implementation of an <A HREF="../../../../../../org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><CODE>options event</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/IEvent.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/IEvent.html index 0528374083..0afb190bb3 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/IEvent.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/IEvent.html @@ -538,7 +538,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/IEvent.html" tit <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options">OptionsEvent</A></B></CODE> <BR> - </TD> + The default implementation of an <A HREF="../../../../../../org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><CODE>options event</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/INotifier.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/INotifier.html index 4ea6ad74b5..7024f3b565 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/INotifier.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/INotifier.html @@ -359,7 +359,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/INotifier.html" <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.Modifiable.html" title="interface in org.eclipse.net4j.util.container">IContainer.Modifiable<E></A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with additional methods to add or remove elements.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -393,7 +393,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/INotifier.html" <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></CODE> <BR> - A default <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -409,7 +409,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/INotifier.html" <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> @@ -450,7 +450,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/INotifier.html" <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.html" title="interface in org.eclipse.net4j.util.container.delegate">IContainerBlockingQueue<E></A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that is a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>BlockingQueue</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Notifier.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Notifier.html index 316c646d54..fec0efc1ae 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Notifier.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/class-use/Notifier.html @@ -295,7 +295,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/Notifier.html" t <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></CODE> <BR> - A default <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -311,7 +311,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/event/Notifier.html" t <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.DeferrableActivation.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.DeferrableActivation.html index 7d08ea3e5b..e4e0c472a4 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.DeferrableActivation.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.DeferrableActivation.html @@ -246,7 +246,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.D <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></CODE> <BR> - A default <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -262,7 +262,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.D <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.html index 2c2831a36b..399f50e391 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/ILifecycle.html @@ -280,7 +280,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.h <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></CODE> <BR> - A default <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -296,7 +296,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.h <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/Lifecycle.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/Lifecycle.html index 31484fd63e..13622f75ec 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/Lifecycle.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/lifecycle/class-use/Lifecycle.html @@ -246,7 +246,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/Lifecycle.ht <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container">Container<E></A></B></CODE> <BR> - A default <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> implementation with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/IContainer.html" title="interface in org.eclipse.net4j.util.container"><CODE>container</CODE></A> with a <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/ILifecycle.html" title="interface in org.eclipse.net4j.util.lifecycle"><CODE>lifecycle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -262,7 +262,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/lifecycle/Lifecycle.ht <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html" title="class in org.eclipse.net4j.util.container">SetContainer<E></A></B></CODE> <BR> - </TD> + An implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/container/Container.html" title="class in org.eclipse.net4j.util.container"><CODE>container</CODE></A> that stores its <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getElements()"><CODE>elements</CODE></A> in a <A HREF="../../../../../../org/eclipse/net4j/util/container/SetContainer.html#getSet()"><CODE>set</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.html index 5c909439ae..3d521ccb32 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.html @@ -98,11 +98,11 @@ Interface OMBundle</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" title="Properties (java.util)" alt="" coords="506,5,587,45"/> -<area shape="rect" id="node2" href="OMBundle.html" title="«interface» OMBundle" alt="" coords="195,156,280,196"/> +<area shape="rect" id="node2" href="OMBundle.html" title="«interface» OMBundle" alt="" coords="195,189,280,229"/> <area shape="rect" id="node3" href="OMBundle.DebugSupport.html" title="«interface» OMBundle.DebugSupport" alt="" coords="462,64,631,104"/> <area shape="rect" id="node4" href="OMBundle.TranslationSupport.html" title="«interface» OMBundle.TranslationSupport" alt="" coords="449,123,644,163"/> <area shape="rect" id="node5" href="log/OMLogger.html" title="«interface» OMLogger (org.eclipse.net4j.util.om.log)" alt="" coords="452,182,641,237"/> -<area shape="rect" id="node6" href="OMPlatform.html" title="«interface» OMPlatform" alt="" coords="5,156,96,196"/> +<area shape="rect" id="node6" href="OMPlatform.html" title="«interface» OMPlatform" alt="" coords="5,189,96,229"/> <area shape="rect" id="node7" href="pref/OMPreferences.html" title="«interface» OMPreferences (org.eclipse.net4j.util.om.pref)" alt="" coords="450,255,643,310"/> <area shape="rect" id="node8" href="trace/OMTracer.html" title="«interface» OMTracer (org.eclipse.net4j.util.om.trace)" alt="" coords="446,329,647,383"/> </map> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.png Binary files differindex 42c9396cd9..f278d01097 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMBundle.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.html index 8e5539e03e..e5fcc3b8ea 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.html @@ -97,11 +97,12 @@ Interface OMPlatform</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="trace/OMTraceHandler.html" title="«interface» OMTraceHandler (org.eclipse.net4j.util.om.trace)" alt="" coords="5,102,205,157"/> -<area shape="rect" id="node2" href="OMPlatform.html" title="«interface» OMPlatform" alt="" coords="368,5,459,45"/> -<area shape="rect" id="node3" href="log/OMLogHandler.html" title="«interface» OMLogHandler (org.eclipse.net4j.util.om.log)" alt="" coords="236,102,425,157"/> -<area shape="rect" id="node4" href="OMBundle.html" title="«interface» OMBundle" alt="" coords="455,109,540,149"/> -<area shape="rect" id="node5" title="File (java.io)" alt="" coords="569,109,636,149"/> +<area shape="rect" id="node1" title="File (java.io)" alt="" coords="343,5,409,45"/> +<area shape="rect" id="node2" href="OMBundle.html" title="«interface» OMBundle" alt="" coords="333,64,419,104"/> +<area shape="rect" id="node3" href="log/OMLogFilter.html" title="«interface» OMLogFilter (org.eclipse.net4j.util.om.log)" alt="" coords="281,123,471,178"/> +<area shape="rect" id="node4" href="log/OMLogHandler.html" title="«interface» OMLogHandler (org.eclipse.net4j.util.om.log)" alt="" coords="281,197,471,251"/> +<area shape="rect" id="node5" href="OMPlatform.html" title="«interface» OMPlatform" alt="" coords="5,151,96,191"/> +<area shape="rect" id="node6" href="trace/OMTraceHandler.html" title="«interface» OMTraceHandler (org.eclipse.net4j.util.om.trace)" alt="" coords="275,270,477,325"/> </map> <CENTER><IMG SRC="OMPlatform.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.png Binary files differindex 3568c4b94a..e782c342cf 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/OMPlatform.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/AbstractLogHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/AbstractLogHandler.html index 6b5ba3bf40..d057dfd004 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/AbstractLogHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/AbstractLogHandler.html @@ -120,6 +120,11 @@ Class AbstractLogHandler</H2> <P> +An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that filters log events with a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><CODE>log level</CODE></A> + greater than a configurable <CODE>maximum level</CODE>. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html index 77e0b86f43..f4cd6d45f8 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html @@ -107,7 +107,7 @@ Class EclipseLoggingBridge</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" href="OMLogHandler.html" title="«interface» OMLogHandler" alt="" coords="25,5,132,45"/> -<area shape="rect" id="node2" href="EclipseLoggingBridge.html" title="EclipseLoggingBridge" alt="" coords="5,85,152,110"/> +<area shape="rect" id="node2" href="EclipseLoggingBridge.html" title="EclipseLoggingBridge" alt="" coords="5,102,152,127"/> </map> <CENTER><IMG SRC="EclipseLoggingBridge.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -115,6 +115,10 @@ Class EclipseLoggingBridge</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the Eclipse <CODE>error log</CODE>. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.png Binary files differindex a212089261..f92aae410f 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.html index b6c5f1ddcb..1c738bb6d5 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.html @@ -106,8 +106,10 @@ Class FileLogHandler</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="AbstractLogHandler.html" title="AbstractLogHandler" alt="" coords="5,6,141,31"/> -<area shape="rect" id="node2" href="FileLogHandler.html" title="FileLogHandler" alt="" coords="19,71,127,97"/> +<area shape="rect" id="node1" href="OMLogHandler.html" title="«interface» OMLogHandler" alt="" coords="5,157,112,197"/> +<area shape="rect" id="node2" href="AbstractLogHandler.html" title="AbstractLogHandler" alt="" coords="61,6,197,31"/> +<area shape="rect" id="node3" href="PrintLogHandler.html" title="PrintLogHandler" alt="" coords="143,165,257,190"/> +<area shape="rect" id="node4" href="FileLogHandler.html" title="FileLogHandler" alt="" coords="75,75,183,101"/> </map> <CENTER><IMG SRC="FileLogHandler.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -115,10 +117,16 @@ Class FileLogHandler</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html#getLogFile()"><CODE>file</CODE></A>. + <p> + The file is opened before and closed after each log event. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> -</DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>PrintLogHandler</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.png Binary files differindex 98337e2d03..288429e711 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/FileLogHandler.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/Logger.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/Logger.html index 9551678168..a7db44ca04 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/Logger.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/Logger.html @@ -115,6 +115,10 @@ Class Logger</H2> <P> +The default <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>logger</CODE></A> implementation. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.html index d3fa705c62..3055fc5fba 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.html @@ -97,7 +97,8 @@ Interface OMLogFilter</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="OMLogFilter.html" title="«interface» OMLogFilter" alt="" coords="5,5,99,45"/> +<area shape="rect" id="node1" href="../OMPlatform.html" title="«interface» OMPlatform (org.eclipse.net4j.util.om)" alt="" coords="5,6,173,61"/> +<area shape="rect" id="node2" href="OMLogFilter.html" title="«interface» OMLogFilter" alt="" coords="43,117,136,157"/> </map> <CENTER><IMG SRC="OMLogFilter.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -105,15 +106,15 @@ Interface OMLogFilter</H2> <P> -Filters log events before they are being passed to <A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#addLogFilter(org.eclipse.net4j.util.om.log.OMLogFilter)"><CODE>registered</CODE></A> - <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>. +Filters log events before they are being passed to the registered <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>. <P> <P> <DL> <DT><B>Since:</B></DT> <DD>3.2</DD> -</DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#addLogFilter(org.eclipse.net4j.util.om.log.OMLogFilter)"><CODE>OMPlatform.addLogFilter(OMLogFilter)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#removeLogFilter(org.eclipse.net4j.util.om.log.OMLogFilter)"><CODE>OMPlatform.removeLogFilter(OMLogFilter)</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.png Binary files differindex fabc656284..cb124e78f6 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogFilter.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.html index cdd3cda77f..821580a70d 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.html @@ -100,11 +100,13 @@ Interface OMLogHandler</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="../OMPlatform.html" title="«interface» OMPlatform (org.eclipse.net4j.util.om)" alt="" coords="156,6,324,61"/> -<area shape="rect" id="node2" href="OMLogHandler.html" title="«interface» OMLogHandler" alt="" coords="186,117,293,157"/> -<area shape="rect" id="node3" href="AbstractLogHandler.html" title="AbstractLogHandler" alt="" coords="5,201,141,226"/> -<area shape="rect" id="node4" href="OSGiLoggingBridge.html" title="OSGiLoggingBridge" alt="" coords="172,201,308,226"/> -<area shape="rect" id="node5" href="EclipseLoggingBridge.html" title="EclipseLoggingBridge" alt="" coords="337,201,484,226"/> +<area shape="rect" id="node1" href="../OMPlatform.html" title="«interface» OMPlatform (org.eclipse.net4j.util.om)" alt="" coords="191,6,359,61"/> +<area shape="rect" id="node2" href="OMLogHandler.html" title="«interface» OMLogHandler" alt="" coords="307,117,415,157"/> +<area shape="rect" id="node3" href="AbstractLogHandler.html" title="AbstractLogHandler" alt="" coords="5,214,141,239"/> +<area shape="rect" id="node4" href="PrintLogHandler.html" title="PrintLogHandler" alt="" coords="172,214,287,239"/> +<area shape="rect" id="node5" href="OSGiLoggingBridge.html" title="OSGiLoggingBridge" alt="" coords="316,214,452,239"/> +<area shape="rect" id="node6" href="FileLogHandler.html" title="FileLogHandler" alt="" coords="407,21,515,46"/> +<area shape="rect" id="node7" href="EclipseLoggingBridge.html" title="EclipseLoggingBridge" alt="" coords="481,214,628,239"/> </map> <CENTER><IMG SRC="OMLogHandler.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -112,6 +114,18 @@ Interface OMLogHandler</H2> <P> +Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>filtered</CODE></A> log events, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>stream</CODE></A> or + the Eclipse <A HREF="../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><CODE>error log</CODE></A>. +<P> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#addLogHandler(org.eclipse.net4j.util.om.log.OMLogHandler)"><CODE>OMPlatform.addLogHandler(OMLogHandler)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#removeLogHandler(org.eclipse.net4j.util.om.log.OMLogHandler)"><CODE>OMPlatform.removeLogHandler(OMLogHandler)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html#INSTANCE"><CODE>EclipseLoggingBridge.INSTANCE</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#CONSOLE"><CODE>PrintLogHandler.CONSOLE</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html#INSTANCE"><CODE>OSGiLoggingBridge.INSTANCE</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>FileLogHandler</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.png Binary files differindex 3b2ed3c1e7..a9164b3c59 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogHandler.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.Level.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.Level.html index e567df570f..58cb9b07dd 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.Level.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.Level.html @@ -117,6 +117,10 @@ Enum OMLogger.Level</H2> <P> +Enumerates the possible severity levels of log events. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.html index 49a1e923a4..21e73a9365 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OMLogger.html @@ -110,6 +110,10 @@ Interface OMLogger</H2> <P> +The <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#logger()"><CODE>logger</CODE></A> of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>. +<P> + +<P> <DL> <DT><B>No Implement</B></DT> <DD>This interface is not intended to be implemented by clients.</DD> @@ -133,7 +137,7 @@ Interface OMLogger</H2> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log">OMLogger.Level</A></B></CODE> <BR> - </TD> + Enumerates the possible severity levels of log events.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html index 7f4cc24117..c790949e43 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html @@ -107,7 +107,7 @@ Class OSGiLoggingBridge</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" href="OMLogHandler.html" title="«interface» OMLogHandler" alt="" coords="19,5,127,45"/> -<area shape="rect" id="node2" href="OSGiLoggingBridge.html" title="OSGiLoggingBridge" alt="" coords="5,85,141,110"/> +<area shape="rect" id="node2" href="OSGiLoggingBridge.html" title="OSGiLoggingBridge" alt="" coords="5,102,141,127"/> </map> <CENTER><IMG SRC="OSGiLoggingBridge.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -115,6 +115,10 @@ Class OSGiLoggingBridge</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the OSGi <CODE>log service</CODE>. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.png Binary files differindex 0defc7217c..8573f5ded9 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.html index ef48b4aa00..265346cf9c 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.html @@ -106,8 +106,10 @@ Class PrintLogHandler</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="AbstractLogHandler.html" title="AbstractLogHandler" alt="" coords="5,6,141,31"/> -<area shape="rect" id="node2" href="PrintLogHandler.html" title="PrintLogHandler" alt="" coords="16,71,131,97"/> +<area shape="rect" id="node1" href="OMLogHandler.html" title="«interface» OMLogHandler" alt="" coords="5,5,112,45"/> +<area shape="rect" id="node2" href="AbstractLogHandler.html" title="AbstractLogHandler" alt="" coords="142,13,279,38"/> +<area shape="rect" id="node3" href="PrintLogHandler.html" title="PrintLogHandler" alt="" coords="153,102,268,127"/> +<area shape="rect" id="node4" href="FileLogHandler.html" title="FileLogHandler" alt="" coords="309,13,416,38"/> </map> <CENTER><IMG SRC="PrintLogHandler.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -115,6 +117,10 @@ Class PrintLogHandler</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><CODE>error</CODE></A> and <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><CODE>output</CODE></A> streams. +<P> + +<P> <HR> <P> @@ -173,6 +179,22 @@ Class PrintLogHandler</H2> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()">getErr</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()">getOut</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#writeLog(org.eclipse.net4j.util.om.log.OMLogger, org.eclipse.net4j.util.om.log.OMLogger.Level, java.lang.String, java.lang.Throwable)">writeLog</A></B>(<A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log">OMLogger</A> logger, <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log">OMLogger.Level</A> level, @@ -259,6 +281,32 @@ protected <B>PrintLogHandler</B>()</PRE> </TR> </TABLE> +<A NAME="getOut()"><!-- --></A><H3> +getOut</H3> +<PRE> +public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A> <B>getOut</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getErr()"><!-- --></A><H3> +getErr</H3> +<PRE> +public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A> <B>getErr</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DD> +</DL> +<HR> + <A NAME="writeLog(org.eclipse.net4j.util.om.log.OMLogger, org.eclipse.net4j.util.om.log.OMLogger.Level, java.lang.String, java.lang.Throwable)"><!-- --></A><H3> writeLog</H3> <PRE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.png Binary files differindex c161577455..e6ff592f23 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/PrintLogHandler.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/AbstractLogHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/AbstractLogHandler.html index 87273c855e..3b261f8d3c 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/AbstractLogHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/AbstractLogHandler.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/AbstractLogH <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log">FileLogHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to a <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html#getLogFile()"><CODE>file</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -124,7 +124,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/AbstractLogH <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log">PrintLogHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><CODE>error</CODE></A> and <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><CODE>output</CODE></A> streams.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogHandler.html index ea77463a56..45648ef177 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogHandler.html @@ -153,7 +153,8 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/AbstractLogHandler.html" title="class in org.eclipse.net4j.util.om.log">AbstractLogHandler</A></B></CODE> <BR> - </TD> + An abstract base implementation of a <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that filters log events with a <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><CODE>log level</CODE></A> + greater than a configurable <CODE>maximum level</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -161,7 +162,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">EclipseLoggingBridge</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the Eclipse <CODE>error log</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -169,7 +170,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log">FileLogHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to a <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html#getLogFile()"><CODE>file</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -177,7 +178,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">OSGiLoggingBridge</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the OSGi <CODE>log service</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -185,7 +186,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log">PrintLogHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><CODE>error</CODE></A> and <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><CODE>output</CODE></A> streams.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogger.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogger.html index 2a947057bd..b51b445b59 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogger.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/class-use/OMLogger.html @@ -145,7 +145,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogger.htm <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/log/Logger.html" title="class in org.eclipse.net4j.util.om.log">Logger</A></B></CODE> <BR> - </TD> + The default <A HREF="../../../../../../../org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>logger</CODE></A> implementation.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-summary.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-summary.html index f84caf7d85..f9b3c6df7a 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-summary.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-summary.html @@ -111,16 +111,16 @@ Interfaces and classes for platform-independent logging. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log">OMLogFilter</A></B></TD> -<TD>Filters log events before they are being passed to <A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#addLogFilter(org.eclipse.net4j.util.om.log.OMLogFilter)"><CODE>registered</CODE></A> - <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>.</TD> +<TD>Filters log events before they are being passed to the registered <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log">OMLogger</A></B></TD> -<TD> </TD> +<TD>The <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#logger()"><CODE>logger</CODE></A> of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log">OMLogHandler</A></B></TD> -<TD> </TD> +<TD>Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>filtered</CODE></A> log events, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>stream</CODE></A> or + the Eclipse <A HREF="../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><CODE>error log</CODE></A>.</TD> </TR> </TABLE> @@ -134,27 +134,28 @@ Interfaces and classes for platform-independent logging. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/AbstractLogHandler.html" title="class in org.eclipse.net4j.util.om.log">AbstractLogHandler</A></B></TD> -<TD> </TD> +<TD>An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that filters log events with a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><CODE>log level</CODE></A> + greater than a configurable <CODE>maximum level</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">EclipseLoggingBridge</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the Eclipse <CODE>error log</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html" title="class in org.eclipse.net4j.util.om.log">FileLogHandler</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/FileLogHandler.html#getLogFile()"><CODE>file</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/Logger.html" title="class in org.eclipse.net4j.util.om.log">Logger</A></B></TD> -<TD> </TD> +<TD>The default <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>logger</CODE></A> implementation.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/OSGiLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log">OSGiLoggingBridge</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the OSGi <CODE>log service</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log">PrintLogHandler</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><CODE>error</CODE></A> and <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><CODE>output</CODE></A> streams.</TD> </TR> </TABLE> @@ -168,7 +169,7 @@ Interfaces and classes for platform-independent logging. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log">OMLogger.Level</A></B></TD> -<TD> </TD> +<TD>Enumerates the possible severity levels of log events.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-use.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-use.html index 300113e8f1..36cc569aa2 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-use.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/log/package-use.html @@ -114,7 +114,7 @@ Classes in <A HREF="../../../../../../org/eclipse/net4j/util/om/log/package-summ <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogger.Level.html#org.eclipse.net4j.util.lifecycle"><B>OMLogger.Level</B></A></B> <BR> - </TD> + Enumerates the possible severity levels of log events.</TD> </TR> </TABLE> @@ -129,20 +129,20 @@ Classes in <A HREF="../../../../../../org/eclipse/net4j/util/om/log/package-summ <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogFilter.html#org.eclipse.net4j.util.om"><B>OMLogFilter</B></A></B> <BR> - Filters log events before they are being passed to <A HREF="../../../../../../org/eclipse/net4j/util/om/OMPlatform.html#addLogFilter(org.eclipse.net4j.util.om.log.OMLogFilter)"><CODE>registered</CODE></A> - <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>.</TD> + Filters log events before they are being passed to the registered <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handlers</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogger.html#org.eclipse.net4j.util.om"><B>OMLogger</B></A></B> <BR> - </TD> + The <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#logger()"><CODE>logger</CODE></A> of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogHandler.html#org.eclipse.net4j.util.om"><B>OMLogHandler</B></A></B> <BR> - </TD> + Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>filtered</CODE></A> log events, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>stream</CODE></A> or + the Eclipse <A HREF="../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><CODE>error log</CODE></A>.</TD> </TR> </TABLE> @@ -157,43 +157,45 @@ Classes in <A HREF="../../../../../../org/eclipse/net4j/util/om/log/package-summ <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/AbstractLogHandler.html#org.eclipse.net4j.util.om.log"><B>AbstractLogHandler</B></A></B> <BR> - </TD> + An abstract base implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that filters log events with a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogger.Level.html" title="enum in org.eclipse.net4j.util.om.log"><CODE>log level</CODE></A> + greater than a configurable <CODE>maximum level</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/EclipseLoggingBridge.html#org.eclipse.net4j.util.om.log"><B>EclipseLoggingBridge</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the Eclipse <CODE>error log</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogger.html#org.eclipse.net4j.util.om.log"><B>OMLogger</B></A></B> <BR> - </TD> + The <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#logger()"><CODE>logger</CODE></A> of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogger.Level.html#org.eclipse.net4j.util.om.log"><B>OMLogger.Level</B></A></B> <BR> - </TD> + Enumerates the possible severity levels of log events.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OMLogHandler.html#org.eclipse.net4j.util.om.log"><B>OMLogHandler</B></A></B> <BR> - </TD> + Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogFilter.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>filtered</CODE></A> log events, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html" title="class in org.eclipse.net4j.util.om.log"><CODE>stream</CODE></A> or + the Eclipse <A HREF="../../../../../../org/eclipse/net4j/util/om/log/EclipseLoggingBridge.html" title="class in org.eclipse.net4j.util.om.log"><CODE>error log</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/OSGiLoggingBridge.html#org.eclipse.net4j.util.om.log"><B>OSGiLoggingBridge</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to the OSGi <CODE>log service</CODE>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/log/class-use/PrintLogHandler.html#org.eclipse.net4j.util.om.log"><B>PrintLogHandler</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/log/OMLogHandler.html" title="interface in org.eclipse.net4j.util.om.log"><CODE>log handler</CODE></A> that appends log events to <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getErr()"><CODE>error</CODE></A> and <A HREF="../../../../../../org/eclipse/net4j/util/om/log/PrintLogHandler.html#getOut()"><CODE>output</CODE></A> streams.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.html index b7a020bf8b..e1f984b670 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.html @@ -105,8 +105,9 @@ Class ContextTracer</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="PerfTracer.html" title="PerfTracer" alt="" coords="15,71,96,97"/> -<area shape="rect" id="node2" href="ContextTracer.html" title="ContextTracer" alt="" coords="5,6,107,31"/> +<area shape="rect" id="node1" href="OMTracer.html" title="«interface» OMTracer" alt="" coords="5,88,91,128"/> +<area shape="rect" id="node2" href="PerfTracer.html" title="PerfTracer" alt="" coords="133,95,213,121"/> +<area shape="rect" id="node3" href="ContextTracer.html" title="ContextTracer" alt="" coords="83,6,185,31"/> </map> <CENTER><IMG SRC="ContextTracer.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -114,6 +115,12 @@ Class ContextTracer</H2> <P> +Encapsulates a tracing <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()"><CODE>context</CODE></A> and delegates trace calls to a bundle <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>. +<P> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PerfTracer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>PerfTracer</CODE></A></DL> <HR> <P> @@ -172,6 +179,14 @@ Class ContextTracer</H2> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><?></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()">getContext</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace">OMTracer</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getDelegate()">getDelegate</A></B>()</CODE> @@ -284,6 +299,19 @@ public <B>ContextTracer</B>(<A HREF="../../../../../../org/eclipse/net4j/util/om </TR> </TABLE> +<A NAME="getContext()"><!-- --></A><H3> +getContext</H3> +<PRE> +public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><?> <B>getContext</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DD> +</DL> +<HR> + <A NAME="getBundle()"><!-- --></A><H3> getBundle</H3> <PRE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.png Binary files differindex 59d3a9d8cc..775fbdcb37 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/ContextTracer.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.html index bde7cadd0a..a7bf392752 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.html @@ -102,8 +102,8 @@ Interface OMTraceHandler</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" href="OMTraceHandler.html" title="«interface» OMTraceHandler" alt="" coords="98,117,216,157"/> <area shape="rect" id="node2" href="../OMPlatform.html" title="«interface» OMPlatform (org.eclipse.net4j.util.om)" alt="" coords="73,6,241,61"/> -<area shape="rect" id="node3" href="RemoteTraceHandler.html" title="RemoteTraceHandler" alt="" coords="5,201,147,226"/> -<area shape="rect" id="node4" href="PrintTraceHandler.html" title="PrintTraceHandler" alt="" coords="177,201,303,226"/> +<area shape="rect" id="node3" href="RemoteTraceHandler.html" title="RemoteTraceHandler" alt="" coords="5,214,147,239"/> +<area shape="rect" id="node4" href="PrintTraceHandler.html" title="PrintTraceHandler" alt="" coords="184,214,309,239"/> </map> <CENTER><IMG SRC="OMTraceHandler.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -111,6 +111,14 @@ Interface OMTraceHandler</H2> <P> +Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A>, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>stream</CODE></A> sends them to a + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>remote</CODE></A> trace handler. +<P> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#CONSOLE"><CODE>PrintTraceHandler.CONSOLE</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>RemoteTraceHandler</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.png Binary files differindex 492ffcf8b6..2d2917855f 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandler.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html index 9a5fb7896a..0cecce69ea 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html @@ -109,6 +109,10 @@ Interface OMTraceHandlerEvent</H2> <P> +Encapsulates the information of a trace event. +<P> + +<P> <DL> <DT><B>No Implement</B></DT> <DD>This interface is not intended to be implemented by clients.</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.html index 7d7e66c5fa..b3f79bae8d 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.html @@ -100,9 +100,10 @@ Interface OMTracer</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="OMTracer.html" title="«interface» OMTracer" alt="" coords="47,117,132,157"/> +<area shape="rect" id="node1" href="OMTracer.html" title="«interface» OMTracer" alt="" coords="119,117,204,157"/> <area shape="rect" id="node2" href="../OMBundle.html" title="«interface» OMBundle (org.eclipse.net4j.util.om)" alt="" coords="5,6,173,61"/> -<area shape="rect" id="node3" href="Tracer.html" title="Tracer" alt="" coords="60,201,119,226"/> +<area shape="rect" id="node3" href="Tracer.html" title="Tracer" alt="" coords="132,201,191,226"/> +<area shape="rect" id="node4" href="ContextTracer.html" title="ContextTracer" alt="" coords="210,21,312,46"/> </map> <CENTER><IMG SRC="OMTracer.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -110,8 +111,14 @@ Interface OMTracer</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getName()"><CODE>named</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><CODE>tracer</CODE></A> within the <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getParent()"><CODE>hierarchy</CODE></A> of tracers of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>. +<P> + +<P> <DL> -<DT><B>No Implement</B></DT> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><CODE>OMBundle.tracer(String)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#tracer(java.lang.String)"><CODE>tracer(String)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>ContextTracer</CODE></A><DT><B>No Implement</B></DT> <DD>This interface is not intended to be implemented by clients.</DD> <DT><B>No Extend</B></DT> <DD>This interface is not intended to be extended by clients.</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.png Binary files differindex 403e46fee9..09c458a630 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/OMTracer.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.html index 2b1db2cc49..501dfe60b8 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.html @@ -103,7 +103,7 @@ Class PerfTracer</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="PerfTracer.html" title="PerfTracer" alt="" coords="15,71,96,97"/> +<area shape="rect" id="node1" href="PerfTracer.html" title="PerfTracer" alt="" coords="15,89,96,114"/> <area shape="rect" id="node2" href="ContextTracer.html" title="ContextTracer" alt="" coords="5,6,107,31"/> </map> @@ -112,6 +112,10 @@ Class PerfTracer</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>context tracer</CODE></A> that maintains a number of timers for performance measurements. +<P> + +<P> <HR> <P> @@ -189,7 +193,7 @@ Class PerfTracer</H2> <TH ALIGN="left"><B>Methods inherited from class org.eclipse.net4j.util.om.trace.<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace">ContextTracer</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#format(java.lang.String, java.lang.Object...)">format</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#format(java.lang.String, java.lang.Throwable, java.lang.Object...)">format</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getBundle()">getBundle</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getDelegate()">getDelegate</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getFullName()">getFullName</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getName()">getName</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getParent()">getParent</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#isEnabled()">isEnabled</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#setEnabled(boolean)">setEnabled</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#trace(java.lang.String)">trace</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#trace(java.lang.String, java.lang.Throwable)">trace</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#trace(java.lang.Throwable)">trace</A></CODE></TD> +<TD><CODE><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#format(java.lang.String, java.lang.Object...)">format</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#format(java.lang.String, java.lang.Throwable, java.lang.Object...)">format</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getBundle()">getBundle</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()">getContext</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getDelegate()">getDelegate</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getFullName()">getFullName</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getName()">getName</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getParent()">getParent</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#isEnabled()">isEnabled</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#setEnabled(boolean)">setEnabled</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#trace(java.lang.String)">trace</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#trace(java.lang.String, java.lang.Throwable)">trace</A>, <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#trace(java.lang.Throwable)">trace</A></CODE></TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.png Binary files differindex 623f904f6b..4b89b4ddef 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PerfTracer.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.html index 1e31d048d1..0ea6feb422 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.html @@ -107,7 +107,7 @@ Class PrintTraceHandler</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" href="OMTraceHandler.html" title="«interface» OMTraceHandler" alt="" coords="9,5,127,45"/> -<area shape="rect" id="node2" href="PrintTraceHandler.html" title="PrintTraceHandler" alt="" coords="5,85,131,110"/> +<area shape="rect" id="node2" href="PrintTraceHandler.html" title="PrintTraceHandler" alt="" coords="5,102,131,127"/> </map> <CENTER><IMG SRC="PrintTraceHandler.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -115,6 +115,11 @@ Class PrintTraceHandler</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()"><CODE>print stream</CODE></A>. +<P> + +<P> <HR> <P> @@ -211,6 +216,14 @@ Class PrintTraceHandler</H2> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()">getStream</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#isShortContext()">isShortContext</A></B>()</CODE> @@ -321,6 +334,22 @@ protected <B>PrintTraceHandler</B>()</PRE> </TR> </TABLE> +<A NAME="getStream()"><!-- --></A><H3> +getStream</H3> +<PRE> +public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A> <B>getStream</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DD> +</DL> +<HR> + <A NAME="getPattern()"><!-- --></A><H3> getPattern</H3> <PRE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.png Binary files differindex b333ca8ac7..e004722326 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/PrintTraceHandler.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html index 3aff8abf4b..53b5251be9 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html @@ -107,7 +107,7 @@ Class RemoteTraceHandler</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" href="OMTraceHandler.html" title="«interface» OMTraceHandler" alt="" coords="17,5,135,45"/> -<area shape="rect" id="node2" href="RemoteTraceHandler.html" title="RemoteTraceHandler" alt="" coords="5,85,147,110"/> +<area shape="rect" id="node2" href="RemoteTraceHandler.html" title="RemoteTraceHandler" alt="" coords="5,102,147,127"/> </map> <CENTER><IMG SRC="RemoteTraceHandler.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -115,6 +115,10 @@ Class RemoteTraceHandler</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that sends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.png Binary files differindex ac904084e4..22396f8df9 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html index c628d28e5e..7fa2e5bcc6 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html @@ -76,9 +76,9 @@ function windowTitle() </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> +DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> @@ -104,7 +104,7 @@ Class RemoteTraceServer.Event</H2> </DL> <HR> <DL> - <DT>public class <B>RemoteTraceServer.Event</B> + <DT>public static class <B>RemoteTraceServer.Event</B> <DD>extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A> </DL> @@ -118,6 +118,11 @@ Class RemoteTraceServer.Event</H2> <P> +A trace event being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A> to + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>. +<P> + +<P> <DL> <DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.eclipse.net4j.util.om.trace.RemoteTraceServer.Event">Serialized Form</A></DL> <HR> @@ -131,6 +136,62 @@ Class RemoteTraceServer.Event</H2> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Field Summary</B></FONT></TH> </TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#agentID">agentID</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#bundleID">bundleID</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#context">context</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#message">message</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/StackTraceElement.html?is-external=true" title="class or interface in java.lang">StackTraceElement</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#stackTrace">stackTrace</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#throwable">throwable</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#tracerName">tracerName</A></B></CODE> + +<BR> + </TD> +</TR> </TABLE> <A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -142,6 +203,24 @@ Class RemoteTraceServer.Event</H2> </TR> </TABLE> +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#RemoteTraceServer.Event(org.eclipse.net4j.util.om.trace.RemoteTraceServer)">RemoteTraceServer.Event</A></B>(<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A> server)</CODE> + +<BR> + </TD> +</TR> +</TABLE> + <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> @@ -276,6 +355,120 @@ Class RemoteTraceServer.Event</H2> <P> +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="agentID"><!-- --></A><H3> +agentID</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>agentID</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> +<HR> + +<A NAME="bundleID"><!-- --></A><H3> +bundleID</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>bundleID</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> +<HR> + +<A NAME="tracerName"><!-- --></A><H3> +tracerName</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>tracerName</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> +<HR> + +<A NAME="context"><!-- --></A><H3> +context</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>context</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> +<HR> + +<A NAME="message"><!-- --></A><H3> +message</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>message</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> +<HR> + +<A NAME="throwable"><!-- --></A><H3> +throwable</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>throwable</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> +<HR> + +<A NAME="stackTrace"><!-- --></A><H3> +stackTrace</H3> +<PRE> +protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/StackTraceElement.html?is-external=true" title="class or interface in java.lang">StackTraceElement</A>[] <B>stackTrace</B></PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RemoteTraceServer.Event(org.eclipse.net4j.util.om.trace.RemoteTraceServer)"><!-- --></A><H3> +RemoteTraceServer.Event</H3> +<PRE> +protected <B>RemoteTraceServer.Event</B>(<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A> server)</PRE> +<DL> +<DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DL> + <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> @@ -481,9 +674,9 @@ public boolean <B>hasError</B>()</PRE> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> +DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html index 4f63821a8e..6b748341be 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html @@ -103,8 +103,9 @@ Interface RemoteTraceServer.Listener</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="RemoteTraceServer.Listener.html" title="«interface» RemoteTraceServer.Listener" alt="" coords="18,5,203,45"/> -<area shape="rect" id="node2" href="RemoteTraceServer.PrintListener.html" title="RemoteTraceServer.PrintListener" alt="" coords="5,85,216,110"/> +<area shape="rect" id="node1" href="RemoteTraceServer.Listener.html" title="«interface» RemoteTraceServer.Listener" alt="" coords="18,88,203,128"/> +<area shape="rect" id="node2" href="RemoteTraceServer.PrintListener.html" title="RemoteTraceServer.PrintListener" alt="" coords="5,185,216,210"/> +<area shape="rect" id="node3" href="RemoteTraceServer.html" title="RemoteTraceServer" alt="" coords="43,6,177,31"/> </map> <CENTER><IMG SRC="RemoteTraceServer.Listener.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -112,6 +113,14 @@ Interface RemoteTraceServer.Listener</H2> <P> +Listens to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>. +<P> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>RemoteTraceServer.addListener(Listener)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#removeListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>RemoteTraceServer.removeListener(Listener)</CODE></A>, +<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>RemoteTraceServer.PrintListener</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.png Binary files differindex 27c3274cd3..6f934e333a 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html index a0f05e0847..6a94a46f94 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html @@ -110,7 +110,7 @@ Class RemoteTraceServer.PrintListener</H2> <map id="APIVIZ" name="APIVIZ"> <area shape="rect" id="node1" href="RemoteTraceServer.Listener.html" title="«interface» RemoteTraceServer.Listener" alt="" coords="18,5,203,45"/> -<area shape="rect" id="node2" href="RemoteTraceServer.PrintListener.html" title="RemoteTraceServer.PrintListener" alt="" coords="5,85,216,110"/> +<area shape="rect" id="node2" href="RemoteTraceServer.PrintListener.html" title="RemoteTraceServer.PrintListener" alt="" coords="5,102,216,127"/> </map> <CENTER><IMG SRC="RemoteTraceServer.PrintListener.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -118,6 +118,10 @@ Class RemoteTraceServer.PrintListener</H2> <P> +A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listener</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><CODE>print stream</CODE></A>. +<P> + +<P> <HR> <P> @@ -175,6 +179,14 @@ Class RemoteTraceServer.PrintListener</H2> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()">getStream</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#notifyRemoteTrace(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Event)">notifyRemoteTrace</A></B>(<A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A> event)</CODE> @@ -248,6 +260,22 @@ protected <B>RemoteTraceServer.PrintListener</B>()</PRE> </TR> </TABLE> +<A NAME="getStream()"><!-- --></A><H3> +getStream</H3> +<PRE> +public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A> <B>getStream</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> +</DL> +</DD> +</DL> +<HR> + <A NAME="notifyRemoteTrace(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Event)"><!-- --></A><H3> notifyRemoteTrace</H3> <PRE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.png Binary files differindex e6fc7f5b81..9ded806ccf 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.html index b736e9c29e..257edd5afe 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.html @@ -102,7 +102,8 @@ Class RemoteTraceServer</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="RemoteTraceServer.html" title="RemoteTraceServer" alt="" coords="5,6,139,31"/> +<area shape="rect" id="node1" href="RemoteTraceServer.Listener.html" title="«interface» RemoteTraceServer.Listener" alt="" coords="5,88,189,128"/> +<area shape="rect" id="node2" href="RemoteTraceServer.html" title="RemoteTraceServer" alt="" coords="30,6,164,31"/> </map> <CENTER><IMG SRC="RemoteTraceServer.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -110,6 +111,11 @@ Class RemoteTraceServer</H2> <P> +A server that <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>agents</CODE></A> can connect to and that passes the received <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>. +<P> + +<P> <HR> <P> @@ -123,11 +129,12 @@ Class RemoteTraceServer</H2> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE> class</CODE></FONT></TD> +<CODE>static class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A></B></CODE> <BR> - </TD> + A trace event being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A> to + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -135,7 +142,7 @@ Class RemoteTraceServer</H2> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Listener</A></B></CODE> <BR> - </TD> + Listens to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -143,7 +150,7 @@ Class RemoteTraceServer</H2> <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listener</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> </TABLE> <!-- =========== FIELD SUMMARY =========== --> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.png Binary files differindex 20290a3174..14d8d49f1b 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/RemoteTraceServer.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html index 7200950f95..8455619586 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html @@ -116,6 +116,10 @@ Class TraceHandlerEvent</H2> <P> +The default implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace event</CODE></A>. +<P> + +<P> <DL> <DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.eclipse.net4j.util.om.trace.TraceHandlerEvent">Serialized Form</A><DT><B>No Extend</B></DT> <DD>This interface is not intended to be extended by clients.</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/Tracer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/Tracer.html index 3a6f818004..9b7b6894b8 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/Tracer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/Tracer.html @@ -115,6 +115,10 @@ Class Tracer</H2> <P> +The default implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>. +<P> + +<P> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/ContextTracer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/ContextTracer.html index deba52347e..420ba03809 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/ContextTracer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/ContextTracer.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/ContextTra <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/PerfTracer.html" title="class in org.eclipse.net4j.util.om.trace">PerfTracer</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>context tracer</CODE></A> that maintains a number of timers for performance measurements.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandler.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandler.html index f7ebe8695f..08dd38a2e1 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandler.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandler.html @@ -153,7 +153,8 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHan <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">PrintTraceHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that appends <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to a <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -161,7 +162,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHan <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceHandler</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that sends <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a remote trace <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandlerEvent.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandlerEvent.html index b04fc5faba..e6fca94091 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandlerEvent.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTraceHandlerEvent.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHan <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A></B></CODE> <BR> - </TD> + The default implementation of a <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace event</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTracer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTracer.html index 9e531a26d3..0998bd0a83 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTracer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/OMTracer.html @@ -145,7 +145,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.h <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/Tracer.html" title="class in org.eclipse.net4j.util.om.trace">Tracer</A></B></CODE> <BR> - </TD> + The default implementation of a <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.Listener.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.Listener.html index 9bda77af53..ed58dc31bd 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.Listener.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.Listener.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTrac <TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A></B></CODE> <BR> - </TD> + A <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listener</CODE></A> that appends <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.html index 86cdf4eaee..aef9ae3122 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.html @@ -121,6 +121,20 @@ Uses of <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTrac </TABLE> <P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/package-summary.html">org.eclipse.net4j.util.om.trace</A> with parameters of type <A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html#RemoteTraceServer.Event(org.eclipse.net4j.util.om.trace.RemoteTraceServer)">RemoteTraceServer.Event</A></B>(<A HREF="../../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A> server)</CODE> + +<BR> + </TD> +</TR> +</TABLE> + +<P> <HR> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-frame.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-frame.html index 5f406b32ff..b3536c50dc 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-frame.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-frame.html @@ -51,6 +51,8 @@ Classes</FONT> <BR> <A HREF="RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">RemoteTraceServer</A> <BR> +<A HREF="RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">RemoteTraceServer.Event</A> +<BR> <A HREF="RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">RemoteTraceServer.PrintListener</A> <BR> <A HREF="TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace" target="classFrame">TraceHandlerEvent</A> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-summary.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-summary.html index aff34122af..38a5ae22cb 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-summary.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-summary.html @@ -116,19 +116,20 @@ Interfaces and classes for platform-independent tracing. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace">OMTraceHandler</A></B></TD> -<TD> </TD> +<TD>Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A>, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>stream</CODE></A> sends them to a + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>remote</CODE></A> trace handler.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace">OMTraceHandlerEvent</A></B></TD> -<TD> </TD> +<TD>Encapsulates the information of a trace event.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace">OMTracer</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getName()"><CODE>named</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><CODE>tracer</CODE></A> within the <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getParent()"><CODE>hierarchy</CODE></A> of tracers of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Listener</A></B></TD> -<TD> </TD> +<TD>Listens to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.</TD> </TR> </TABLE> @@ -142,35 +143,42 @@ Interfaces and classes for platform-independent tracing. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace">ContextTracer</A></B></TD> -<TD> </TD> +<TD>Encapsulates a tracing <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()"><CODE>context</CODE></A> and delegates trace calls to a bundle <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PerfTracer.html" title="class in org.eclipse.net4j.util.om.trace">PerfTracer</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>context tracer</CODE></A> that maintains a number of timers for performance measurements.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">PrintTraceHandler</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceHandler</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that sends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer</A></B></TD> -<TD> </TD> +<TD>A server that <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>agents</CODE></A> can connect to and that passes the received <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.Event</A></B></TD> +<TD>A trace event being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A> to + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html" title="class in org.eclipse.net4j.util.om.trace">RemoteTraceServer.PrintListener</A></B></TD> -<TD> </TD> +<TD>A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listener</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace">TraceHandlerEvent</A></B></TD> -<TD> </TD> +<TD>The default implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace event</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/Tracer.html" title="class in org.eclipse.net4j.util.om.trace">Tracer</A></B></TD> -<TD> </TD> +<TD>The default implementation of a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-use.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-use.html index 50f8395b69..512c43a4af 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-use.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/om/trace/package-use.html @@ -110,13 +110,14 @@ Classes in <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/package-su <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/OMTraceHandler.html#org.eclipse.net4j.util.om"><B>OMTraceHandler</B></A></B> <BR> - </TD> + Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A>, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>stream</CODE></A> sends them to a + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>remote</CODE></A> trace handler.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/OMTracer.html#org.eclipse.net4j.util.om"><B>OMTracer</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getName()"><CODE>named</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><CODE>tracer</CODE></A> within the <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getParent()"><CODE>hierarchy</CODE></A> of tracers of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.</TD> </TR> </TABLE> @@ -131,55 +132,59 @@ Classes in <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/package-su <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/ContextTracer.html#org.eclipse.net4j.util.om.trace"><B>ContextTracer</B></A></B> <BR> - </TD> + Encapsulates a tracing <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/ContextTracer.html#getContext()"><CODE>context</CODE></A> and delegates trace calls to a bundle <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>tracer</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/OMTraceHandler.html#org.eclipse.net4j.util.om.trace"><B>OMTraceHandler</B></A></B> <BR> - </TD> + Handles <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/TraceHandlerEvent.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A>, for example appends them to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>stream</CODE></A> sends them to a + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>remote</CODE></A> trace handler.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/OMTraceHandlerEvent.html#org.eclipse.net4j.util.om.trace"><B>OMTraceHandlerEvent</B></A></B> <BR> - </TD> + Encapsulates the information of a trace event.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/OMTracer.html#org.eclipse.net4j.util.om.trace"><B>OMTracer</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getName()"><CODE>named</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html#tracer(java.lang.String)"><CODE>tracer</CODE></A> within the <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTracer.html#getParent()"><CODE>hierarchy</CODE></A> of tracers of a <A HREF="../../../../../../org/eclipse/net4j/util/om/OMBundle.html" title="interface in org.eclipse.net4j.util.om"><CODE>bundle</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/PrintTraceHandler.html#org.eclipse.net4j.util.om.trace"><B>PrintTraceHandler</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandler.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace handler</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/PrintTraceHandler.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.html#org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer</B></A></B> <BR> - </TD> + A server that <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceHandler.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>agents</CODE></A> can connect to and that passes the received <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> + to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.Event.html#org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.Event</B></A></B> <BR> - </TD> + A trace event being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A> to + <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html#addListener(org.eclipse.net4j.util.om.trace.RemoteTraceServer.Listener)"><CODE>registered</CODE></A> <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listeners</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.Listener.html#org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.Listener</B></A></B> <BR> - </TD> + Listens to <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> being passed by a remote trace <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>server</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../../org/eclipse/net4j/util/om/trace/class-use/RemoteTraceServer.PrintListener.html#org.eclipse.net4j.util.om.trace"><B>RemoteTraceServer.PrintListener</B></A></B> <BR> - </TD> + A <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Listener.html" title="interface in org.eclipse.net4j.util.om.trace"><CODE>listener</CODE></A> that appends <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.Event.html" title="class in org.eclipse.net4j.util.om.trace"><CODE>trace events</CODE></A> to a <A HREF="../../../../../../org/eclipse/net4j/util/om/trace/RemoteTraceServer.PrintListener.html#getStream()"><CODE>print stream</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.html index 08b3d5d002..df6023387e 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.html @@ -101,8 +101,9 @@ Interface IOptions</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="IOptions.html" title="«interface» IOptions" alt="" coords="52,100,137,140"/> -<area shape="rect" id="node2" href="../event/INotifier.html" title="«interface» INotifier (org.eclipse.net4j.util.event)" alt="" coords="5,6,184,61"/> +<area shape="rect" id="node1" href="IOptionsContainer.html" title="«interface» IOptionsContainer" alt="" coords="32,200,157,240"/> +<area shape="rect" id="node2" href="IOptions.html" title="«interface» IOptions" alt="" coords="52,104,137,144"/> +<area shape="rect" id="node3" href="../event/INotifier.html" title="«interface» INotifier (org.eclipse.net4j.util.event)" alt="" coords="5,6,184,61"/> </map> <CENTER><IMG SRC="IOptions.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -117,7 +118,7 @@ Encapsulates a set of notifying configuration options. <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> -</DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/net4j/util/options/IOptionsContainer.html" title="interface in org.eclipse.net4j.util.options"><CODE>IOptionsContainer</CODE></A></DL> <HR> <P> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.png Binary files differindex 033f1d6fb6..20a497e552 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptions.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.html index 580cabf7db..40f743421a 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.html @@ -97,7 +97,8 @@ Interface IOptionsContainer</H2> </DL> <map id="APIVIZ" name="APIVIZ"> -<area shape="rect" id="node1" href="IOptionsContainer.html" title="«interface» IOptionsContainer" alt="" coords="5,5,131,45"/> +<area shape="rect" id="node1" href="IOptionsContainer.html" title="«interface» IOptionsContainer" alt="" coords="5,101,131,141"/> +<area shape="rect" id="node2" href="IOptions.html" title="«interface» IOptions" alt="" coords="25,5,111,45"/> </map> <CENTER><IMG SRC="IOptionsContainer.png" USEMAP="#APIVIZ" BORDER="0"></CENTER> @@ -105,6 +106,10 @@ Interface IOptionsContainer</H2> <P> +The container of an <A HREF="../../../../../org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><CODE>options set</CODE></A>. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.png b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.png Binary files differindex ad54e28404..f41e9e7439 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.png +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/IOptionsContainer.png diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/OptionsEvent.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/OptionsEvent.html index c61839e3ef..21a29ab4e5 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/OptionsEvent.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/OptionsEvent.html @@ -118,6 +118,10 @@ Class OptionsEvent</H2> <P> +The default implementation of an <A HREF="../../../../../org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><CODE>options event</CODE></A>. +<P> + +<P> <DL> <DT><B>Since:</B></DT> <DD>2.0</DD> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/class-use/IOptionsEvent.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/class-use/IOptionsEvent.html index ea5b9ecc71..b7da91dc02 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/class-use/IOptionsEvent.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/class-use/IOptionsEvent.html @@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/util/options/IOptionsEvent. <TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options">OptionsEvent</A></B></CODE> <BR> - </TD> + The default implementation of an <A HREF="../../../../../../org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><CODE>options event</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-summary.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-summary.html index b45083725d..6ab3921e4b 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-summary.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-summary.html @@ -110,7 +110,7 @@ A framework for option containers that fire change events. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/options/IOptionsContainer.html" title="interface in org.eclipse.net4j.util.options">IOptionsContainer</A></B></TD> -<TD> </TD> +<TD>The container of an <A HREF="../../../../../org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><CODE>options set</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options">IOptionsEvent</A></B></TD> @@ -128,7 +128,7 @@ A framework for option containers that fire change events. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/util/options/OptionsEvent.html" title="class in org.eclipse.net4j.util.options">OptionsEvent</A></B></TD> -<TD> </TD> +<TD>The default implementation of an <A HREF="../../../../../org/eclipse/net4j/util/options/IOptionsEvent.html" title="interface in org.eclipse.net4j.util.options"><CODE>options event</CODE></A>.</TD> </TR> </TABLE> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-use.html b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-use.html index 9074974f64..d93b88da3e 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-use.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/options/package-use.html @@ -112,7 +112,7 @@ Classes in <A HREF="../../../../../org/eclipse/net4j/util/options/package-summar <TD><B><A HREF="../../../../../org/eclipse/net4j/util/options/class-use/IOptionsContainer.html#org.eclipse.net4j.util.options"><B>IOptionsContainer</B></A></B> <BR> - </TD> + The container of an <A HREF="../../../../../org/eclipse/net4j/util/options/IOptions.html" title="interface in org.eclipse.net4j.util.options"><CODE>options set</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><B><A HREF="../../../../../org/eclipse/net4j/util/options/class-use/IOptionsEvent.html#org.eclipse.net4j.util.options"><B>IOptionsEvent</B></A></B> diff --git a/plugins/org.eclipse.net4j.util.doc/javadoc/serialized-form.html b/plugins/org.eclipse.net4j.util.doc/javadoc/serialized-form.html index f8c5bc47de..ee5ef2d82f 100644 --- a/plugins/org.eclipse.net4j.util.doc/javadoc/serialized-form.html +++ b/plugins/org.eclipse.net4j.util.doc/javadoc/serialized-form.html @@ -667,6 +667,8 @@ agentID</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>agentID</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> <HR> @@ -676,6 +678,8 @@ bundleID</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>bundleID</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> <HR> @@ -685,6 +689,8 @@ tracerName</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>tracerName</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> <HR> @@ -694,6 +700,8 @@ context</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>context</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> <HR> @@ -703,6 +711,8 @@ message</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>message</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> <HR> @@ -712,6 +722,8 @@ throwable</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>throwable</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> <HR> @@ -721,6 +733,8 @@ stackTrace</H3> <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/StackTraceElement.html?is-external=true" title="class or interface in java.lang">StackTraceElement</A>[] <B>stackTrace</B></PRE> <DL> <DL> +<DT><B>Since:</B></DT> + <DD>3.2</DD> </DL> </DL> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/ConcurrentValue.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/ConcurrentValue.java index b0a7b95d27..ad3714e1e1 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/ConcurrentValue.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/ConcurrentValue.java @@ -1,110 +1,110 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Simon McDuff - initial API and implementation
- * Eike Stepper - maintenance
- */
-package org.eclipse.net4j.util.concurrent;
-
-/**
- * Allow synchronization between many threads for a specific value, e.g.:
- *
- * <pre>
- * MainThread cv.set(1);
- * Thread1 cv.acquire(3);
- * Thread2 cv.acquire(4);
- * Thread3 cv.acquire(100);
- * Thread4 cv.acquire(new Object()
- * {
- * public boolean equals(Object other)
- * {
- * return other.equals(2) || other.equals(3);
- * }
- * });
- * Thread5 cv.acquire(1);
- * ...
- * // Thread 1,2,3 and 4 are blocked
- * // Thread 5 isn't blocked.
- *
- * MainThread cv.set(3);
- *
- * // Thread 1 and 4 are unblocked.
- * // Thread 2 and 3 are still blocked.
- * </pre>
- *
- * @author Simon McDuff
- * @since 2.0
- */
-public final class ConcurrentValue<T>
-{
- private Object notifier = new Notifier();
-
- private T value;
-
- public ConcurrentValue(T value)
- {
- this.value = value;
- }
-
- public T get()
- {
- return value;
- }
-
- /**
- * Specify the new value.
- */
- public void set(T newValue)
- {
- synchronized (notifier)
- {
- value = newValue;
- notifier.notifyAll();
- }
- }
-
- /**
- * Reevaluate the condition. It is only useful if a thread is blocked at {@link #acquire(Object)} and the parameter
- * passed changed. {@link #acquire(Object)} generates a reevaluation automatically.
- */
- public void reevaluate()
- {
- synchronized (notifier)
- {
- notifier.notifyAll();
- }
- }
-
- /**
- * Blocking call.
- * <p>
- * Return when value accept is equal to {@link #get()}.
- */
- public void acquire(Object accept) throws InterruptedException
- {
- if (accept == null)
- {
- throw new IllegalArgumentException("accept == null"); //$NON-NLS-1$
- }
-
- synchronized (notifier)
- {
- while (!accept.equals(value))
- {
- notifier.wait();
- }
- }
- }
-
- /**
- * @author Eike Stepper
- */
- private static final class Notifier extends Object
- {
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Simon McDuff - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.net4j.util.concurrent; + +/** + * Allow synchronization between many threads for a specific value. + * + * <pre> + * MainThread cv.set(1); + * Thread1 cv.acquire(3); + * Thread2 cv.acquire(4); + * Thread3 cv.acquire(100); + * Thread4 cv.acquire(new Object() + * { + * public boolean equals(Object other) + * { + * return other.equals(2) || other.equals(3); + * } + * }); + * Thread5 cv.acquire(1); + * ... + * // Thread 1,2,3 and 4 are blocked + * // Thread 5 isn't blocked. + * + * MainThread cv.set(3); + * + * // Thread 1 and 4 are unblocked. + * // Thread 2 and 3 are still blocked. + * </pre> + * + * @author Simon McDuff + * @since 2.0 + */ +public final class ConcurrentValue<T> +{ + private Object notifier = new Notifier(); + + private T value; + + public ConcurrentValue(T value) + { + this.value = value; + } + + public T get() + { + return value; + } + + /** + * Specify the new value. + */ + public void set(T newValue) + { + synchronized (notifier) + { + value = newValue; + notifier.notifyAll(); + } + } + + /** + * Reevaluate the condition. It is only useful if a thread is blocked at {@link #acquire(Object)} and the parameter + * passed changed. {@link #acquire(Object)} generates a reevaluation automatically. + */ + public void reevaluate() + { + synchronized (notifier) + { + notifier.notifyAll(); + } + } + + /** + * Blocking call. + * <p> + * Return when value accept is equal to {@link #get()}. + */ + public void acquire(Object accept) throws InterruptedException + { + if (accept == null) + { + throw new IllegalArgumentException("accept == null"); //$NON-NLS-1$ + } + + synchronized (notifier) + { + while (!accept.equals(value)) + { + notifier.wait(); + } + } + } + + /** + * @author Eike Stepper + */ + private static final class Notifier extends Object + { + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java index 6aae78cea8..3dbf3a7d65 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java @@ -1,115 +1,115 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.container;
-
-import org.eclipse.net4j.util.container.IContainerDelta.Kind;
-import org.eclipse.net4j.util.event.IEvent;
-import org.eclipse.net4j.util.lifecycle.ILifecycle;
-import org.eclipse.net4j.util.lifecycle.Lifecycle;
-
-import java.util.List;
-
-/**
- * A default {@link IContainer container} implementation with a {@link ILifecycle lifecycle}.
- *
- * @author Eike Stepper
- */
-public abstract class Container<E> extends Lifecycle implements IContainer<E>
-{
- public Container()
- {
- }
-
- public boolean isEmpty()
- {
- if (!isActive())
- {
- return true;
- }
-
- E[] elements = getElements();
- return elements == null || elements.length == 0;
- }
-
- @Override
- public void fireEvent(IEvent event)
- {
- if (event instanceof IContainerEvent<?>)
- {
- if (((IContainerEvent<?>)event).isEmpty())
- {
- return;
- }
- }
-
- super.fireEvent(event);
- }
-
- public void fireContainerEvent(E element, Kind kind)
- {
- fireEvent(newContainerEvent(element, kind));
- }
-
- public void fireElementAddedEvent(E element)
- {
- fireContainerEvent(element, IContainerDelta.Kind.ADDED);
- }
-
- public void fireElementRemovedEvent(E element)
- {
- fireContainerEvent(element, IContainerDelta.Kind.REMOVED);
- }
-
- /**
- * @since 2.0
- */
- public void fireContainerEvent(E[] elements, Kind kind)
- {
- ContainerEvent<E> event = new ContainerEvent<E>(this);
- for (E element : elements)
- {
- event.addDelta(element, kind);
- }
-
- fireEvent(event);
- }
-
- /**
- * @since 2.0
- */
- public void fireElementsAddedEvent(E[] elements)
- {
- fireContainerEvent(elements, IContainerDelta.Kind.ADDED);
- }
-
- /**
- * @since 2.0
- */
- public void fireElementsRemovedEvent(E[] elements)
- {
- fireContainerEvent(elements, IContainerDelta.Kind.REMOVED);
- }
-
- public void fireContainerEvent(List<IContainerDelta<E>> deltas)
- {
- fireEvent(new ContainerEvent<E>(this, deltas));
- }
-
- protected SingleDeltaContainerEvent<E> newContainerEvent(E element, IContainerDelta.Kind kind)
- {
- return new SingleDeltaContainerEvent<E>(this, element, kind);
- }
-
- protected ContainerEvent<E> newContainerEvent()
- {
- return new ContainerEvent<E>(this);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.container; + +import org.eclipse.net4j.util.container.IContainerDelta.Kind; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.lifecycle.ILifecycle; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import java.util.List; + +/** + * An abstract base implementation of a {@link IContainer container} with a {@link ILifecycle lifecycle}. + * + * @author Eike Stepper + */ +public abstract class Container<E> extends Lifecycle implements IContainer<E> +{ + public Container() + { + } + + public boolean isEmpty() + { + if (!isActive()) + { + return true; + } + + E[] elements = getElements(); + return elements == null || elements.length == 0; + } + + @Override + public void fireEvent(IEvent event) + { + if (event instanceof IContainerEvent<?>) + { + if (((IContainerEvent<?>)event).isEmpty()) + { + return; + } + } + + super.fireEvent(event); + } + + public void fireContainerEvent(E element, Kind kind) + { + fireEvent(newContainerEvent(element, kind)); + } + + public void fireElementAddedEvent(E element) + { + fireContainerEvent(element, IContainerDelta.Kind.ADDED); + } + + public void fireElementRemovedEvent(E element) + { + fireContainerEvent(element, IContainerDelta.Kind.REMOVED); + } + + /** + * @since 2.0 + */ + public void fireContainerEvent(E[] elements, Kind kind) + { + ContainerEvent<E> event = new ContainerEvent<E>(this); + for (E element : elements) + { + event.addDelta(element, kind); + } + + fireEvent(event); + } + + /** + * @since 2.0 + */ + public void fireElementsAddedEvent(E[] elements) + { + fireContainerEvent(elements, IContainerDelta.Kind.ADDED); + } + + /** + * @since 2.0 + */ + public void fireElementsRemovedEvent(E[] elements) + { + fireContainerEvent(elements, IContainerDelta.Kind.REMOVED); + } + + public void fireContainerEvent(List<IContainerDelta<E>> deltas) + { + fireEvent(new ContainerEvent<E>(this, deltas)); + } + + protected SingleDeltaContainerEvent<E> newContainerEvent(E element, IContainerDelta.Kind kind) + { + return new SingleDeltaContainerEvent<E>(this, element, kind); + } + + protected ContainerEvent<E> newContainerEvent() + { + return new ContainerEvent<E>(this); + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java index 97eae94642..e8addd8f2b 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java @@ -1,51 +1,53 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- * Victor Roldan Betancort - maintenance
- */
-package org.eclipse.net4j.util.container;
-
-import org.eclipse.net4j.util.event.INotifier;
-
-import java.util.Collection;
-
-/**
- * Contains a number of elements and notifies about element addition and removal.
- * <p>
- * A container can fire the following events:
- * <ul>
- * <li> {@link IContainerEvent} after the addition and/or removal of elements.
- * </ul>
- *
- * @author Eike Stepper
- * @apiviz.landmark
- * @apiviz.composedOf {@link java.lang.Object} - - elements
- * @apiviz.uses {@link IContainerEvent} - - fires
- */
-public interface IContainer<E> extends INotifier
-{
- public boolean isEmpty();
-
- public E[] getElements();
-
- /**
- * @author Eike Stepper
- * @since 2.0
- */
- public interface Modifiable<E> extends IContainer<E>
- {
- public boolean addElement(E element);
-
- public boolean addAllElements(Collection<E> elements);
-
- public boolean removeElement(E element);
-
- public boolean removeAllElements(Collection<E> elements);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + * Victor Roldan Betancort - maintenance + */ +package org.eclipse.net4j.util.container; + +import org.eclipse.net4j.util.event.INotifier; + +import java.util.Collection; + +/** + * Contains a number of elements and notifies about element addition and removal. + * <p> + * A container can fire the following events: + * <ul> + * <li> {@link IContainerEvent} after the addition and/or removal of elements. + * </ul> + * + * @author Eike Stepper + * @apiviz.landmark + * @apiviz.composedOf {@link java.lang.Object} - - elements + * @apiviz.uses {@link IContainerEvent} - - fires + */ +public interface IContainer<E> extends INotifier +{ + public boolean isEmpty(); + + public E[] getElements(); + + /** + * A {@link IContainer container} with additional methods to add or remove elements. + * + * @author Eike Stepper + * @since 2.0 + */ + public interface Modifiable<E> extends IContainer<E> + { + public boolean addElement(E element); + + public boolean addAllElements(Collection<E> elements); + + public boolean removeElement(E element); + + public boolean removeAllElements(Collection<E> elements); + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SetContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SetContainer.java index b85b6d289b..a7a3833c5a 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SetContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SetContainer.java @@ -10,13 +10,20 @@ */ package org.eclipse.net4j.util.container; +import org.eclipse.net4j.util.container.delegate.IContainerSet; +import org.eclipse.net4j.util.container.delegate.IContainerSortedSet; + import java.lang.reflect.Array; import java.util.HashSet; import java.util.Set; /** - * @author Eike Stepper + * An implementation of a {@link Container container} that stores its {@link #getElements() elements} in a {@link #getSet() set}. + * * @since 3.2 + * @author Eike Stepper + * @see IContainerSet + * @see IContainerSortedSet */ public class SetContainer<E> extends Container<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.java index b9171525a3..0a3ccc75a7 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerBlockingQueue.java @@ -1,21 +1,25 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.container.delegate;
-
-import java.util.concurrent.BlockingQueue;
-
-/**
- * @author Eike Stepper
- */
-public interface IContainerBlockingQueue<E> extends IContainerQueue<E>, BlockingQueue<E>
-{
- public BlockingQueue<E> getDelegate();
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.container.delegate; + +import org.eclipse.net4j.util.container.IContainer; + +import java.util.concurrent.BlockingQueue; + +/** + * A {@link IContainer container} that is a {@link BlockingQueue}. + * + * @author Eike Stepper + */ +public interface IContainerBlockingQueue<E> extends IContainerQueue<E>, BlockingQueue<E> +{ + public BlockingQueue<E> getDelegate(); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java index 8950981e9e..2309f79c55 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java @@ -1,25 +1,27 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.container.delegate;
-
-import org.eclipse.net4j.util.container.IContainer;
-
-import java.util.Set;
-
-/**
- * A {@link IContainer container} that is a {@link Set}.
- *
- * @author Eike Stepper
- */
-public interface IContainerSet<E> extends IContainerCollection<E>, Set<E>
-{
- public Set<E> getDelegate();
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.container.delegate; + +import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.net4j.util.container.SetContainer; + +import java.util.Set; + +/** + * A {@link IContainer container} that is a {@link Set}. + * + * @author Eike Stepper + * @see SetContainer + */ +public interface IContainerSet<E> extends IContainerCollection<E>, Set<E> +{ + public Set<E> getDelegate(); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/AbstractLogHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/AbstractLogHandler.java index b7e6935157..c2b961dc8d 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/AbstractLogHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/AbstractLogHandler.java @@ -1,76 +1,79 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public abstract class AbstractLogHandler implements OMLogHandler
-{
- private Level logLevel;
-
- public AbstractLogHandler(Level logLevel)
- {
- this.logLevel = logLevel;
- }
-
- public AbstractLogHandler()
- {
- this(Level.DEBUG);
- }
-
- public Level getLogLevel()
- {
- return logLevel;
- }
-
- public void setLogLevel(Level logLevel)
- {
- this.logLevel = logLevel;
- }
-
- public void logged(OMLogger logger, Level level, String msg, Throwable t)
- {
- try
- {
- if (level.ordinal() <= logLevel.ordinal())
- {
- writeLog(logger, level, msg, t);
- }
- }
- catch (Throwable ignore)
- {
- // Ignore
- }
- }
-
- protected abstract void writeLog(OMLogger logger, Level level, String msg, Throwable t) throws Throwable;
-
- public static String toString(Level level)
- {
- switch (level)
- {
- case ERROR:
- return "[ERROR]"; //$NON-NLS-1$
- case WARN:
- return "[WARN]"; //$NON-NLS-1$
- case INFO:
- return "[INFO]"; //$NON-NLS-1$
- case DEBUG:
- return "[DEBUG]"; //$NON-NLS-1$
- default:
- throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +/** + * An abstract base implementation of a {@link OMLogHandler log handler} that filters log events with a {@link Level log level} + * greater than a configurable {@link #setLogLevel(Level) maximum level}. + * + * @author Eike Stepper + * @since 2.0 + */ +public abstract class AbstractLogHandler implements OMLogHandler +{ + private Level logLevel; + + public AbstractLogHandler(Level logLevel) + { + this.logLevel = logLevel; + } + + public AbstractLogHandler() + { + this(Level.DEBUG); + } + + public Level getLogLevel() + { + return logLevel; + } + + public void setLogLevel(Level logLevel) + { + this.logLevel = logLevel; + } + + public void logged(OMLogger logger, Level level, String msg, Throwable t) + { + try + { + if (level.ordinal() <= logLevel.ordinal()) + { + writeLog(logger, level, msg, t); + } + } + catch (Throwable ignore) + { + // Ignore + } + } + + protected abstract void writeLog(OMLogger logger, Level level, String msg, Throwable t) throws Throwable; + + public static String toString(Level level) + { + switch (level) + { + case ERROR: + return "[ERROR]"; //$NON-NLS-1$ + case WARN: + return "[WARN]"; //$NON-NLS-1$ + case INFO: + return "[INFO]"; //$NON-NLS-1$ + case DEBUG: + return "[DEBUG]"; //$NON-NLS-1$ + default: + throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.java index c314132e16..f22f2447d0 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/EclipseLoggingBridge.java @@ -1,64 +1,66 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.internal.util.om.OSGiBundle;
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-
-/**
- * @author Eike Stepper
- */
-public class EclipseLoggingBridge implements OMLogHandler
-{
- /**
- * @Singleton
- */
- public static final EclipseLoggingBridge INSTANCE = new EclipseLoggingBridge();
-
- protected EclipseLoggingBridge()
- {
- }
-
- public void logged(OMLogger logger, Level level, String msg, Throwable t)
- {
- try
- {
- OSGiBundle bundle = (OSGiBundle)logger.getBundle();
- ILog log = Platform.getLog(bundle.getBundleContext().getBundle());
- log.log(new Status(toEclipse(level), bundle.getBundleID(), IStatus.OK, msg, t));
- }
- catch (RuntimeException ignore)
- {
- }
- }
-
- public static int toEclipse(Level level)
- {
- switch (level)
- {
- case ERROR:
- return IStatus.ERROR;
- case WARN:
- return IStatus.WARNING;
- case INFO:
- return IStatus.INFO;
- case DEBUG:
- return IStatus.OK;
- default:
- throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.internal.util.om.OSGiBundle; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +import org.eclipse.core.runtime.ILog; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; + +/** + * A {@link OMLogHandler log handler} that appends log events to the Eclipse {@link ILog error log}. + * + * @author Eike Stepper + */ +public class EclipseLoggingBridge implements OMLogHandler +{ + /** + * @Singleton + */ + public static final EclipseLoggingBridge INSTANCE = new EclipseLoggingBridge(); + + protected EclipseLoggingBridge() + { + } + + public void logged(OMLogger logger, Level level, String msg, Throwable t) + { + try + { + OSGiBundle bundle = (OSGiBundle)logger.getBundle(); + ILog log = Platform.getLog(bundle.getBundleContext().getBundle()); + log.log(new Status(toEclipse(level), bundle.getBundleID(), IStatus.OK, msg, t)); + } + catch (RuntimeException ignore) + { + } + } + + public static int toEclipse(Level level) + { + switch (level) + { + case ERROR: + return IStatus.ERROR; + case WARN: + return IStatus.WARNING; + case INFO: + return IStatus.INFO; + case DEBUG: + return IStatus.OK; + default: + throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/FileLogHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/FileLogHandler.java index 3072471680..71a335a135 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/FileLogHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/FileLogHandler.java @@ -1,64 +1,69 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.util.io.IOUtil;
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.PrintStream;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public class FileLogHandler extends AbstractLogHandler
-{
- private File logFile;
-
- public FileLogHandler(File logFile, Level logLevel)
- {
- super(logLevel);
- this.logFile = logFile;
- }
-
- public FileLogHandler(File logFile)
- {
- this.logFile = logFile;
- }
-
- public File getLogFile()
- {
- return logFile;
- }
-
- @Override
- protected void writeLog(OMLogger logger, Level level, String msg, Throwable t) throws Throwable
- {
- FileOutputStream fos = null;
-
- try
- {
- fos = new FileOutputStream(logFile, true);
- PrintStream stream = new PrintStream(fos);
- stream.println(toString(level) + " " + msg); //$NON-NLS-1$
- if (t != null)
- {
- IOUtil.print(t, stream);
- }
- }
- finally
- {
- IOUtil.close(fos);
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.util.io.IOUtil; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintStream; + +/** + * A {@link OMLogHandler log handler} that appends log events to a {@link #getLogFile() file}. + * <p> + * The file is opened before and closed after each log event. + * + * @author Eike Stepper + * @since 2.0 + * @see PrintLogHandler + */ +public class FileLogHandler extends AbstractLogHandler +{ + private File logFile; + + public FileLogHandler(File logFile, Level logLevel) + { + super(logLevel); + this.logFile = logFile; + } + + public FileLogHandler(File logFile) + { + this.logFile = logFile; + } + + public File getLogFile() + { + return logFile; + } + + @Override + protected void writeLog(OMLogger logger, Level level, String msg, Throwable t) throws Throwable + { + FileOutputStream fos = null; + + try + { + fos = new FileOutputStream(logFile, true); + PrintStream stream = new PrintStream(fos); + stream.println(toString(level) + " " + msg); //$NON-NLS-1$ + if (t != null) + { + IOUtil.print(t, stream); + } + } + finally + { + IOUtil.close(fos); + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/Logger.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/Logger.java index 0aedecc08d..f5859fc497 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/Logger.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/Logger.java @@ -1,113 +1,115 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.internal.util.bundle.AbstractPlatform;
-import org.eclipse.net4j.util.om.OMBundle;
-
-/**
- * @author Eike Stepper
- */
-public class Logger implements OMLogger
-{
- private OMBundle bundle;
-
- public Logger(OMBundle bundle)
- {
- this.bundle = bundle;
- }
-
- public OMBundle getBundle()
- {
- return bundle;
- }
-
- public void log(Level level, String msg, Throwable t)
- {
- ((AbstractPlatform)bundle.getPlatform()).log(this, level, msg, t);
- }
-
- public void error(String msg, Throwable t)
- {
- log(Level.ERROR, msg, t);
- }
-
- public void warn(String msg, Throwable t)
- {
- log(Level.WARN, msg, t);
- }
-
- public void info(String msg, Throwable t)
- {
- log(Level.INFO, msg, t);
- }
-
- public void debug(String msg, Throwable t)
- {
- log(Level.DEBUG, msg, t);
- }
-
- public void log(Level level, String msg)
- {
- log(level, msg, null);
- }
-
- public void error(String msg)
- {
- log(Level.ERROR, msg);
- }
-
- public void warn(String msg)
- {
- log(Level.WARN, msg);
- }
-
- public void info(String msg)
- {
- log(Level.INFO, msg);
- }
-
- public void debug(String msg)
- {
- log(Level.DEBUG, msg);
- }
-
- public void log(Level level, Throwable t)
- {
- String msg = t.getMessage();
- if (msg == null)
- {
- msg = t.getClass().getSimpleName();
- }
-
- log(level, msg, t);
- }
-
- public void error(Throwable t)
- {
- log(Level.ERROR, t);
- }
-
- public void warn(Throwable t)
- {
- log(Level.WARN, t);
- }
-
- public void info(Throwable t)
- {
- log(Level.INFO, t);
- }
-
- public void debug(Throwable t)
- {
- log(Level.DEBUG, t);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.internal.util.bundle.AbstractPlatform; +import org.eclipse.net4j.util.om.OMBundle; + +/** + * The default {@link OMLogger logger} implementation. + * + * @author Eike Stepper + */ +public class Logger implements OMLogger +{ + private OMBundle bundle; + + public Logger(OMBundle bundle) + { + this.bundle = bundle; + } + + public OMBundle getBundle() + { + return bundle; + } + + public void log(Level level, String msg, Throwable t) + { + ((AbstractPlatform)bundle.getPlatform()).log(this, level, msg, t); + } + + public void error(String msg, Throwable t) + { + log(Level.ERROR, msg, t); + } + + public void warn(String msg, Throwable t) + { + log(Level.WARN, msg, t); + } + + public void info(String msg, Throwable t) + { + log(Level.INFO, msg, t); + } + + public void debug(String msg, Throwable t) + { + log(Level.DEBUG, msg, t); + } + + public void log(Level level, String msg) + { + log(level, msg, null); + } + + public void error(String msg) + { + log(Level.ERROR, msg); + } + + public void warn(String msg) + { + log(Level.WARN, msg); + } + + public void info(String msg) + { + log(Level.INFO, msg); + } + + public void debug(String msg) + { + log(Level.DEBUG, msg); + } + + public void log(Level level, Throwable t) + { + String msg = t.getMessage(); + if (msg == null) + { + msg = t.getClass().getSimpleName(); + } + + log(level, msg, t); + } + + public void error(Throwable t) + { + log(Level.ERROR, t); + } + + public void warn(Throwable t) + { + log(Level.WARN, t); + } + + public void info(Throwable t) + { + log(Level.INFO, t); + } + + public void debug(Throwable t) + { + log(Level.DEBUG, t); + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogFilter.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogFilter.java index 34545e9f06..f7186ebd59 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogFilter.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogFilter.java @@ -1,31 +1,32 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.util.om.OMPlatform;
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-/**
- * Filters log events before they are being passed to {@link OMPlatform#addLogFilter(OMLogFilter) registered}
- * {@link OMLogHandler log handlers}.
- *
- * @author Eike Stepper
- * @since 3.2
- */
-public interface OMLogFilter
-{
- /**
- * Prevents the log event represented by the arguments from being passed to
- * {@link OMPlatform#addLogFilter(OMLogFilter) registered} {@link OMLogHandler log handlers}, if and only if
- * <code>true</code> is returned.
- */
- public boolean filter(OMLogger logger, Level level, String msg, Throwable t);
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +/** + * Filters log events before they are being passed to the registered {@link OMLogHandler log handlers}. + * + * @since 3.2 + * @author Eike Stepper + * @see OMPlatform#addLogFilter(OMLogFilter) + * @see OMPlatform#removeLogFilter(OMLogFilter) + */ +public interface OMLogFilter +{ + /** + * Prevents the log event represented by the arguments from being passed to + * {@link OMPlatform#addLogFilter(OMLogFilter) registered} {@link OMLogHandler log handlers}, if and only if + * <code>true</code> is returned. + */ + public boolean filter(OMLogger logger, Level level, String msg, Throwable t); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogHandler.java index 3c4c7a2f12..ccef284a84 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogHandler.java @@ -1,21 +1,31 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-/**
- * @author Eike Stepper
- */
-public interface OMLogHandler
-{
- public void logged(OMLogger logger, Level level, String msg, Throwable t);
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +/** + * Handles {@link OMLogFilter filtered} log events, for example appends them to a {@link PrintLogHandler stream} or + * the Eclipse {@link EclipseLoggingBridge error log}. + * + * @author Eike Stepper + * @see OMPlatform#addLogHandler(OMLogHandler) + * @see OMPlatform#removeLogHandler(OMLogHandler) + * @see EclipseLoggingBridge#INSTANCE + * @see PrintLogHandler#CONSOLE + * @see OSGiLoggingBridge#INSTANCE + * @see FileLogHandler + */ +public interface OMLogHandler +{ + public void logged(OMLogger logger, Level level, String msg, Throwable t); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogger.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogger.java index fda15b3d73..4063dc87d7 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogger.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OMLogger.java @@ -1,61 +1,65 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.util.om.OMBundle;
-
-/**
- * @author Eike Stepper
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface OMLogger
-{
- public OMBundle getBundle();
-
- public void log(Level level, String msg, Throwable t);
-
- public void error(String msg, Throwable t);
-
- public void warn(String msg, Throwable t);
-
- public void info(String msg, Throwable t);
-
- public void debug(String msg, Throwable t);
-
- public void log(Level level, String msg);
-
- public void error(String msg);
-
- public void warn(String msg);
-
- public void info(String msg);
-
- public void debug(String msg);
-
- public void log(Level level, Throwable t);
-
- public void error(Throwable t);
-
- public void warn(Throwable t);
-
- public void info(Throwable t);
-
- public void debug(Throwable t);
-
- /**
- * @author Eike Stepper
- */
- public enum Level
- {
- ERROR, WARN, INFO, DEBUG
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.util.om.OMBundle; + +/** + * The {@link OMBundle#logger() logger} of a {@link OMBundle bundle}. + * + * @author Eike Stepper + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface OMLogger +{ + public OMBundle getBundle(); + + public void log(Level level, String msg, Throwable t); + + public void error(String msg, Throwable t); + + public void warn(String msg, Throwable t); + + public void info(String msg, Throwable t); + + public void debug(String msg, Throwable t); + + public void log(Level level, String msg); + + public void error(String msg); + + public void warn(String msg); + + public void info(String msg); + + public void debug(String msg); + + public void log(Level level, Throwable t); + + public void error(Throwable t); + + public void warn(Throwable t); + + public void info(Throwable t); + + public void debug(Throwable t); + + /** + * Enumerates the possible severity levels of log events. + * + * @author Eike Stepper + */ + public enum Level + { + ERROR, WARN, INFO, DEBUG + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java index 9e887612b6..c75db02680 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java @@ -1,81 +1,83 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.internal.util.om.OSGiBundle;
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-
-/**
- * @author Eike Stepper
- */
-public class OSGiLoggingBridge implements OMLogHandler
-{
- // @Singleton
- public static final OSGiLoggingBridge INSTANCE = new OSGiLoggingBridge();
-
- protected OSGiLoggingBridge()
- {
- }
-
- public void logged(OMLogger logger, Level level, String msg, Throwable t)
- {
- try
- {
- BundleContext bundleContext = ((OSGiBundle)logger.getBundle()).getBundleContext();
- logged(bundleContext, level, msg, t);
- }
- catch (RuntimeException ignore)
- {
- }
- }
-
- public void logged(BundleContext bundleContext, Level level, String msg, Throwable t)
- {
- LogService logService = getLogService(bundleContext);
- logService.log(toOSGi(level), msg, t);
- }
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- protected LogService getLogService(BundleContext bundleContext)
- {
- try
- {
- ServiceReference ref = bundleContext.getServiceReference(LogService.class.getName());
- LogService logService = (LogService)bundleContext.getService(ref);
- return logService;
- }
- catch (RuntimeException ex)
- {
- throw new IllegalStateException("Log service not found", ex); //$NON-NLS-1$
- }
- }
-
- public static int toOSGi(Level level)
- {
- switch (level)
- {
- case ERROR:
- return LogService.LOG_ERROR;
- case WARN:
- return LogService.LOG_WARNING;
- case INFO:
- return LogService.LOG_INFO;
- case DEBUG:
- return LogService.LOG_DEBUG;
- default:
- throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.internal.util.om.OSGiBundle; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.log.LogService; + +/** + * A {@link OMLogHandler log handler} that appends log events to the OSGi {@link LogService log service}. + * + * @author Eike Stepper + */ +public class OSGiLoggingBridge implements OMLogHandler +{ + // @Singleton + public static final OSGiLoggingBridge INSTANCE = new OSGiLoggingBridge(); + + protected OSGiLoggingBridge() + { + } + + public void logged(OMLogger logger, Level level, String msg, Throwable t) + { + try + { + BundleContext bundleContext = ((OSGiBundle)logger.getBundle()).getBundleContext(); + logged(bundleContext, level, msg, t); + } + catch (RuntimeException ignore) + { + } + } + + public void logged(BundleContext bundleContext, Level level, String msg, Throwable t) + { + LogService logService = getLogService(bundleContext); + logService.log(toOSGi(level), msg, t); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected LogService getLogService(BundleContext bundleContext) + { + try + { + ServiceReference ref = bundleContext.getServiceReference(LogService.class.getName()); + LogService logService = (LogService)bundleContext.getService(ref); + return logService; + } + catch (RuntimeException ex) + { + throw new IllegalStateException("Log service not found", ex); //$NON-NLS-1$ + } + } + + public static int toOSGi(Level level) + { + switch (level) + { + case ERROR: + return LogService.LOG_ERROR; + case WARN: + return LogService.LOG_WARNING; + case INFO: + return LogService.LOG_INFO; + case DEBUG: + return LogService.LOG_DEBUG; + default: + throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/PrintLogHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/PrintLogHandler.java index 2feb28ae50..7ab97aae6d 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/PrintLogHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/PrintLogHandler.java @@ -1,50 +1,68 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.log;
-
-import org.eclipse.net4j.util.io.IOUtil;
-import org.eclipse.net4j.util.om.log.OMLogger.Level;
-
-import java.io.PrintStream;
-
-/**
- * @author Eike Stepper
- */
-public class PrintLogHandler extends AbstractLogHandler
-{
- public static final PrintLogHandler CONSOLE = new PrintLogHandler();
-
- private PrintStream out;
-
- private PrintStream err;
-
- public PrintLogHandler(PrintStream out, PrintStream err)
- {
- this.out = out;
- this.err = err;
- }
-
- protected PrintLogHandler()
- {
- this(IOUtil.OUT(), IOUtil.ERR());
- }
-
- @Override
- protected void writeLog(OMLogger logger, Level level, String msg, Throwable t) throws Throwable
- {
- PrintStream stream = level == Level.ERROR ? err : out;
- stream.println(toString(level) + " " + msg); //$NON-NLS-1$
- if (t != null)
- {
- IOUtil.print(t, stream);
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.util.io.IOUtil; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +import java.io.PrintStream; + +/** + * A {@link OMLogHandler log handler} that appends log events to {@link #getErr() error} and {@link #getOut() output} streams. + * + * @author Eike Stepper + */ +public class PrintLogHandler extends AbstractLogHandler +{ + public static final PrintLogHandler CONSOLE = new PrintLogHandler(); + + private PrintStream out; + + private PrintStream err; + + public PrintLogHandler(PrintStream out, PrintStream err) + { + this.out = out; + this.err = err; + } + + protected PrintLogHandler() + { + this(IOUtil.OUT(), IOUtil.ERR()); + } + + /** + * @since 3.2 + */ + public PrintStream getOut() + { + return out; + } + + /** + * @since 3.2 + */ + public PrintStream getErr() + { + return err; + } + + @Override + protected void writeLog(OMLogger logger, Level level, String msg, Throwable t) throws Throwable + { + PrintStream stream = level == Level.ERROR ? err : out; + stream.println(toString(level) + " " + msg); //$NON-NLS-1$ + if (t != null) + { + IOUtil.print(t, stream); + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/ContextTracer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/ContextTracer.java index e64f654d0e..cab5ad0661 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/ContextTracer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/ContextTracer.java @@ -1,89 +1,100 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-import org.eclipse.net4j.util.om.OMBundle;
-
-/**
- * @author Eike Stepper
- */
-public class ContextTracer
-{
- private OMTracer delegate;
-
- private Class<?> context;
-
- public ContextTracer(OMTracer delegate, Class<?> context)
- {
- this.delegate = delegate;
- this.context = context;
- }
-
- public OMBundle getBundle()
- {
- return delegate.getBundle();
- }
-
- public String getFullName()
- {
- return delegate.getFullName();
- }
-
- public String getName()
- {
- return delegate.getName();
- }
-
- public OMTracer getDelegate()
- {
- return delegate;
- }
-
- public OMTracer getParent()
- {
- return delegate.getParent();
- }
-
- public boolean isEnabled()
- {
- return delegate.isEnabled();
- }
-
- public void setEnabled(boolean enabled)
- {
- delegate.setEnabled(enabled);
- }
-
- public void format(String pattern, Object... args)
- {
- delegate.format(context, pattern, args);
- }
-
- public void format(String pattern, Throwable t, Object... args)
- {
- delegate.format(context, pattern, t, args);
- }
-
- public void trace(String msg, Throwable t)
- {
- delegate.trace(context, msg, t);
- }
-
- public void trace(String msg)
- {
- delegate.trace(context, msg);
- }
-
- public void trace(Throwable t)
- {
- delegate.trace(context, t);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +import org.eclipse.net4j.util.om.OMBundle; + +/** + * Encapsulates a tracing {@link #getContext() context} and delegates trace calls to a bundle {@link OMTracer tracer}. + * + * @author Eike Stepper + * @see PerfTracer + */ +public class ContextTracer +{ + private OMTracer delegate; + + private Class<?> context; + + public ContextTracer(OMTracer delegate, Class<?> context) + { + this.delegate = delegate; + this.context = context; + } + + /** + * @since 3.2 + */ + public Class<?> getContext() + { + return context; + } + + public OMBundle getBundle() + { + return delegate.getBundle(); + } + + public String getFullName() + { + return delegate.getFullName(); + } + + public String getName() + { + return delegate.getName(); + } + + public OMTracer getDelegate() + { + return delegate; + } + + public OMTracer getParent() + { + return delegate.getParent(); + } + + public boolean isEnabled() + { + return delegate.isEnabled(); + } + + public void setEnabled(boolean enabled) + { + delegate.setEnabled(enabled); + } + + public void format(String pattern, Object... args) + { + delegate.format(context, pattern, args); + } + + public void format(String pattern, Throwable t, Object... args) + { + delegate.format(context, pattern, t, args); + } + + public void trace(String msg, Throwable t) + { + delegate.trace(context, msg, t); + } + + public void trace(String msg) + { + delegate.trace(context, msg); + } + + public void trace(Throwable t) + { + delegate.trace(context, t); + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandler.java index 0ca72ab987..2d40ed2f1e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandler.java @@ -1,19 +1,24 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-/**
- * @author Eike Stepper
- */
-public interface OMTraceHandler
-{
- public void traced(OMTraceHandlerEvent event);
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +/** + * Handles {@link TraceHandlerEvent trace events}, for example appends them to a {@link PrintTraceHandler stream} sends them to a + * {@link RemoteTraceHandler remote} trace handler. + * + * @author Eike Stepper + * @see PrintTraceHandler#CONSOLE + * @see RemoteTraceHandler + */ +public interface OMTraceHandler +{ + public void traced(OMTraceHandlerEvent event); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.java index c3c5299b36..4b96ebb2fe 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTraceHandlerEvent.java @@ -1,29 +1,31 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-/**
- * @author Eike Stepper
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface OMTraceHandlerEvent
-{
- public long getTimeStamp();
-
- public OMTracer getTracer();
-
- public Class<?> getContext();
-
- public String getMessage();
-
- public Throwable getThrowable();
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +/** + * Encapsulates the information of a trace event. + * + * @author Eike Stepper + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface OMTraceHandlerEvent +{ + public long getTimeStamp(); + + public OMTracer getTracer(); + + public Class<?> getContext(); + + public String getMessage(); + + public Throwable getThrowable(); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTracer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTracer.java index a27fa97458..49909bea04 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTracer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/OMTracer.java @@ -1,47 +1,52 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-import org.eclipse.net4j.util.om.OMBundle;
-
-/**
- * @author Eike Stepper
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface OMTracer
-{
- public OMBundle getBundle();
-
- public OMTracer getParent();
-
- public String getName();
-
- public String getFullName();
-
- public boolean isEnabled();
-
- public void setEnabled(boolean enabled);
-
- public void trace(OMTraceHandlerEvent traceRecord);
-
- public OMTraceHandlerEvent format(Class<?> context, String pattern, Object... args);
-
- public OMTraceHandlerEvent format(Class<?> context, String pattern, Throwable t, Object... args);
-
- public OMTraceHandlerEvent trace(Class<?> context, String msg, Throwable t);
-
- public OMTraceHandlerEvent trace(Class<?> context, String msg);
-
- public OMTraceHandlerEvent trace(Class<?> context, Throwable t);
-
- public OMTracer tracer(String name);
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +import org.eclipse.net4j.util.om.OMBundle; + +/** + * A {@link #getName() named} {@link OMBundle#tracer(String) tracer} within the {@link #getParent() hierarchy} of tracers of a {@link OMBundle bundle}. + * + * @author Eike Stepper + * @see OMBundle#tracer(String) + * @see OMTracer#tracer(String) + * @see ContextTracer + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface OMTracer +{ + public OMBundle getBundle(); + + public OMTracer getParent(); + + public String getName(); + + public String getFullName(); + + public boolean isEnabled(); + + public void setEnabled(boolean enabled); + + public void trace(OMTraceHandlerEvent traceRecord); + + public OMTraceHandlerEvent format(Class<?> context, String pattern, Object... args); + + public OMTraceHandlerEvent format(Class<?> context, String pattern, Throwable t, Object... args); + + public OMTraceHandlerEvent trace(Class<?> context, String msg, Throwable t); + + public OMTraceHandlerEvent trace(Class<?> context, String msg); + + public OMTraceHandlerEvent trace(Class<?> context, Throwable t); + + public OMTracer tracer(String name); +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PerfTracer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PerfTracer.java index 564b948dc0..f414ec8867 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PerfTracer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PerfTracer.java @@ -1,81 +1,83 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-import java.util.IdentityHashMap;
-import java.util.Map;
-
-/**
- * @author Eike Stepper
- */
-public class PerfTracer extends ContextTracer
-{
- public static final long NOT_STARTED = 0L;
-
- private Map<Object, Long> timers = new IdentityHashMap<Object, Long>();
-
- public PerfTracer(OMTracer delegate, Class<?> context)
- {
- super(delegate, context);
- }
-
- public void start(Object object)
- {
- if (isEnabled())
- {
- synchronized (timers)
- {
- timers.put(object, System.currentTimeMillis());
- }
- }
- }
-
- public long stop(Object object)
- {
- long duration = NOT_STARTED;
- if (isEnabled())
- {
- Long timer;
- synchronized (timers)
- {
- timer = timers.remove(object);
- }
-
- if (timer != null)
- {
- duration = System.currentTimeMillis() - timer;
- format("{0} = {1} millis", object, duration); //$NON-NLS-1$
- }
- }
-
- return duration;
- }
-
- public long getDuration(Object object)
- {
- long duration = NOT_STARTED;
- if (isEnabled())
- {
- Long timer;
- synchronized (timers)
- {
- timer = timers.get(object);
- }
-
- if (timer != null)
- {
- duration = System.currentTimeMillis() - timer;
- }
- }
-
- return duration;
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +import java.util.IdentityHashMap; +import java.util.Map; + +/** + * A {@link ContextTracer context tracer} that maintains a number of timers for performance measurements. + * + * @author Eike Stepper + */ +public class PerfTracer extends ContextTracer +{ + public static final long NOT_STARTED = 0L; + + private Map<Object, Long> timers = new IdentityHashMap<Object, Long>(); + + public PerfTracer(OMTracer delegate, Class<?> context) + { + super(delegate, context); + } + + public void start(Object object) + { + if (isEnabled()) + { + synchronized (timers) + { + timers.put(object, System.currentTimeMillis()); + } + } + } + + public long stop(Object object) + { + long duration = NOT_STARTED; + if (isEnabled()) + { + Long timer; + synchronized (timers) + { + timer = timers.remove(object); + } + + if (timer != null) + { + duration = System.currentTimeMillis() - timer; + format("{0} = {1} millis", object, duration); //$NON-NLS-1$ + } + } + + return duration; + } + + public long getDuration(Object object) + { + long duration = NOT_STARTED; + if (isEnabled()) + { + Long timer; + synchronized (timers) + { + timer = timers.get(object); + } + + if (timer != null) + { + duration = System.currentTimeMillis() - timer; + } + } + + return duration; + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PrintTraceHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PrintTraceHandler.java index d0fd8b3a62..5753b46111 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PrintTraceHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/PrintTraceHandler.java @@ -1,132 +1,143 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-import org.eclipse.net4j.util.io.IOUtil;
-
-import java.io.PrintStream;
-import java.text.MessageFormat;
-
-/**
- * @author Eike Stepper
- */
-public class PrintTraceHandler implements OMTraceHandler
-{
- public static final PrintTraceHandler CONSOLE = new PrintTraceHandler();
-
- private PrintStream stream;
-
- private String pattern;
-
- private boolean shortContext;
-
- public PrintTraceHandler(PrintStream stream)
- {
- this.stream = stream;
- }
-
- protected PrintTraceHandler()
- {
- this(IOUtil.OUT());
- }
-
- public String getPattern()
- {
- return pattern;
- }
-
- /**
- * Pattern arguments:
- * <p>
- * <ul>
- * <li>0} --> String <b>tracerName</b><br>
- * <li>1} --> String <b>tracerShort</b><br>
- * <li>2} --> String <b>contextName</b><br>
- * <li>3} --> String <b>contextShort</b><br>
- * <li>4} --> long <b>timeStamp</b><br>
- * <li>5} --> String <b>message</b><br>
- * <li>6} --> String <b>threadName</b><br>
- * <li>7} --> long <b>threadID</b><br>
- * <li>8} --> int <b>threadPriority</b><br>
- * <li>9} --> Thread.State <b>threadState</b><br>
- * </ul>
- */
- public void setPattern(String pattern)
- {
- this.pattern = pattern;
- }
-
- public boolean isShortContext()
- {
- return shortContext;
- }
-
- public void setShortContext(boolean shortContext)
- {
- this.shortContext = shortContext;
- }
-
- public void traced(OMTraceHandlerEvent event)
- {
- String line = pattern == null ? format(shortContext, event) : format(pattern, event);
- stream.println(line);
- if (event.getThrowable() != null)
- {
- IOUtil.print(event.getThrowable(), stream);
- }
- }
-
- public static String format(boolean shortContext, OMTraceHandlerEvent event)
- {
- Class<?> context = event.getContext();
- String contextName = shortContext ? context.getSimpleName() : context.getName();
- return Thread.currentThread().getName() + " [" + contextName + "] " + event.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Pattern arguments:
- * <p>
- * <ul>
- * <li>0} --> String <b>tracerName</b><br>
- * <li>1} --> String <b>tracerShort</b><br>
- * <li>2} --> String <b>contextName</b><br>
- * <li>3} --> String <b>contextShort</b><br>
- * <li>4} --> long <b>timeStamp</b><br>
- * <li>5} --> String <b>message</b><br>
- * <li>6} --> String <b>threadName</b><br>
- * <li>7} --> long <b>threadID</b><br>
- * <li>8} --> int <b>threadPriority</b><br>
- * <li>9} --> Thread.State <b>threadState</b><br>
- * </ul>
- */
- public static String format(String pattern, OMTraceHandlerEvent event)
- {
- final OMTracer tracer = event.getTracer();
- final String tracerName = tracer.getFullName();
- final String tracerShort = tracer.getName();
-
- final Class<?> context = event.getContext();
- final String contextName = context.getName();
- final String contextShort = context.getName();
-
- final long timeStamp = event.getTimeStamp();
- final String message = event.getMessage();
-
- final Thread thread = Thread.currentThread();
- final String threadName = thread.getName();
- final long threadID = thread.getId();
- final int threadPriority = thread.getPriority();
- final Thread.State threadState = thread.getState();
-
- return MessageFormat.format(pattern, tracerName, tracerShort, contextName, contextShort, timeStamp, message,
- threadName, threadID, threadPriority, threadState);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +import org.eclipse.net4j.util.io.IOUtil; + +import java.io.PrintStream; +import java.text.MessageFormat; + +/** + * A {@link OMTraceHandler trace handler} that appends {@link OMTraceHandlerEvent trace events} + * to a {@link #getStream() print stream}. + * + * @author Eike Stepper + */ +public class PrintTraceHandler implements OMTraceHandler +{ + public static final PrintTraceHandler CONSOLE = new PrintTraceHandler(); + + private PrintStream stream; + + private String pattern; + + private boolean shortContext; + + public PrintTraceHandler(PrintStream stream) + { + this.stream = stream; + } + + protected PrintTraceHandler() + { + this(IOUtil.OUT()); + } + + /** + * @since 3.2 + */ + public PrintStream getStream() + { + return stream; + } + + public String getPattern() + { + return pattern; + } + + /** + * Pattern arguments: + * <p> + * <ul> + * <li>0} --> String <b>tracerName</b><br> + * <li>1} --> String <b>tracerShort</b><br> + * <li>2} --> String <b>contextName</b><br> + * <li>3} --> String <b>contextShort</b><br> + * <li>4} --> long <b>timeStamp</b><br> + * <li>5} --> String <b>message</b><br> + * <li>6} --> String <b>threadName</b><br> + * <li>7} --> long <b>threadID</b><br> + * <li>8} --> int <b>threadPriority</b><br> + * <li>9} --> Thread.State <b>threadState</b><br> + * </ul> + */ + public void setPattern(String pattern) + { + this.pattern = pattern; + } + + public boolean isShortContext() + { + return shortContext; + } + + public void setShortContext(boolean shortContext) + { + this.shortContext = shortContext; + } + + public void traced(OMTraceHandlerEvent event) + { + String line = pattern == null ? format(shortContext, event) : format(pattern, event); + stream.println(line); + if (event.getThrowable() != null) + { + IOUtil.print(event.getThrowable(), stream); + } + } + + public static String format(boolean shortContext, OMTraceHandlerEvent event) + { + Class<?> context = event.getContext(); + String contextName = shortContext ? context.getSimpleName() : context.getName(); + return Thread.currentThread().getName() + " [" + contextName + "] " + event.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * Pattern arguments: + * <p> + * <ul> + * <li>0} --> String <b>tracerName</b><br> + * <li>1} --> String <b>tracerShort</b><br> + * <li>2} --> String <b>contextName</b><br> + * <li>3} --> String <b>contextShort</b><br> + * <li>4} --> long <b>timeStamp</b><br> + * <li>5} --> String <b>message</b><br> + * <li>6} --> String <b>threadName</b><br> + * <li>7} --> long <b>threadID</b><br> + * <li>8} --> int <b>threadPriority</b><br> + * <li>9} --> Thread.State <b>threadState</b><br> + * </ul> + */ + public static String format(String pattern, OMTraceHandlerEvent event) + { + final OMTracer tracer = event.getTracer(); + final String tracerName = tracer.getFullName(); + final String tracerShort = tracer.getName(); + + final Class<?> context = event.getContext(); + final String contextName = context.getName(); + final String contextShort = context.getName(); + + final long timeStamp = event.getTimeStamp(); + final String message = event.getMessage(); + + final Thread thread = Thread.currentThread(); + final String threadName = thread.getName(); + final long threadID = thread.getId(); + final int threadPriority = thread.getPriority(); + final Thread.State threadState = thread.getState(); + + return MessageFormat.format(pattern, tracerName, tracerShort, contextName, contextShort, timeStamp, message, + threadName, threadID, threadPriority, threadState); + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.java index b44cfc81e8..e80e1e9755 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceHandler.java @@ -1,147 +1,149 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-import org.eclipse.net4j.internal.util.bundle.OM;
-import org.eclipse.net4j.util.io.IOUtil;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.util.UUID;
-
-/**
- * @author Eike Stepper
- */
-public class RemoteTraceHandler implements OMTraceHandler
-{
- public static final String DEFAULT_HOST = "localhost"; //$NON-NLS-1$
-
- public static final int DEFAULT_PORT = RemoteTraceServer.DEFAULT_PORT;
-
- private static int uniqueCounter;
-
- private String agentID;
-
- private String host;
-
- private int port;
-
- private Socket socket;
-
- public RemoteTraceHandler() throws IOException
- {
- this(uniqueAgentID());
- }
-
- public RemoteTraceHandler(String agentID) throws IOException
- {
- this(agentID, DEFAULT_HOST);
- }
-
- public RemoteTraceHandler(String agentID, String host) throws IOException
- {
- this(agentID, host, DEFAULT_PORT);
- }
-
- public RemoteTraceHandler(String agentID, String host, int port) throws IOException
- {
- this.agentID = agentID;
- this.host = host;
- this.port = port;
- socket = connect();
- }
-
- public Exception close()
- {
- try
- {
- socket.close();
- return null;
- }
- catch (IOException ex)
- {
- OM.LOG.error(ex);
- return ex;
- }
- }
-
- public void traced(OMTraceHandlerEvent event)
- {
- try
- {
- OutputStream outputStream = socket.getOutputStream();
- DataOutputStream out = new DataOutputStream(outputStream);
-
- out.writeLong(event.getTimeStamp());
- writeUTF(out, agentID);
- writeUTF(out, event.getTracer().getBundle().getBundleID());
- writeUTF(out, event.getTracer().getFullName());
- writeUTF(out, event.getContext() == null ? "" : event.getContext().getName()); //$NON-NLS-1$
- writeUTF(out, event.getMessage());
- if (event.getThrowable() == null)
- {
- out.writeBoolean(false);
- }
- else
- {
- out.writeBoolean(true);
- String message = event.getThrowable().getMessage();
- writeUTF(out, message);
-
- StackTraceElement[] stackTrace = event.getThrowable().getStackTrace();
- int size = stackTrace == null ? 0 : stackTrace.length;
- out.writeInt(size);
-
- for (int i = 0; i < size; i++)
- {
- StackTraceElement element = stackTrace[i];
- writeUTF(out, element.getClassName());
- writeUTF(out, element.getMethodName());
- writeUTF(out, element.getFileName());
- out.writeInt(element.getLineNumber());
- }
- }
-
- out.flush();
- }
- catch (IOException ex)
- {
- IOUtil.print(ex);
- }
- }
-
- protected Socket connect() throws IOException
- {
- return new Socket(host, port);
- }
-
- protected void writeUTF(DataOutputStream out, String str) throws IOException
- {
- out.writeUTF(str == null ? "" : str); //$NON-NLS-1$
- }
-
- public static String uniqueAgentID()
- {
- try
- {
- InetAddress localMachine = InetAddress.getLocalHost();
- return localMachine.getHostName() + "#" + ++uniqueCounter; //$NON-NLS-1$
- }
- catch (Exception ex)
- {
- UUID uuid = UUID.randomUUID();
- return uuid.toString();
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +import org.eclipse.net4j.internal.util.bundle.OM; +import org.eclipse.net4j.util.io.IOUtil; + +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.util.UUID; + +/** + * A {@link OMTraceHandler trace handler} that sends {@link OMTraceHandlerEvent trace events} to a remote trace {@link RemoteTraceServer server}. + * + * @author Eike Stepper + */ +public class RemoteTraceHandler implements OMTraceHandler +{ + public static final String DEFAULT_HOST = "localhost"; //$NON-NLS-1$ + + public static final int DEFAULT_PORT = RemoteTraceServer.DEFAULT_PORT; + + private static int uniqueCounter; + + private String agentID; + + private String host; + + private int port; + + private Socket socket; + + public RemoteTraceHandler() throws IOException + { + this(uniqueAgentID()); + } + + public RemoteTraceHandler(String agentID) throws IOException + { + this(agentID, DEFAULT_HOST); + } + + public RemoteTraceHandler(String agentID, String host) throws IOException + { + this(agentID, host, DEFAULT_PORT); + } + + public RemoteTraceHandler(String agentID, String host, int port) throws IOException + { + this.agentID = agentID; + this.host = host; + this.port = port; + socket = connect(); + } + + public Exception close() + { + try + { + socket.close(); + return null; + } + catch (IOException ex) + { + OM.LOG.error(ex); + return ex; + } + } + + public void traced(OMTraceHandlerEvent event) + { + try + { + OutputStream outputStream = socket.getOutputStream(); + DataOutputStream out = new DataOutputStream(outputStream); + + out.writeLong(event.getTimeStamp()); + writeUTF(out, agentID); + writeUTF(out, event.getTracer().getBundle().getBundleID()); + writeUTF(out, event.getTracer().getFullName()); + writeUTF(out, event.getContext() == null ? "" : event.getContext().getName()); //$NON-NLS-1$ + writeUTF(out, event.getMessage()); + if (event.getThrowable() == null) + { + out.writeBoolean(false); + } + else + { + out.writeBoolean(true); + String message = event.getThrowable().getMessage(); + writeUTF(out, message); + + StackTraceElement[] stackTrace = event.getThrowable().getStackTrace(); + int size = stackTrace == null ? 0 : stackTrace.length; + out.writeInt(size); + + for (int i = 0; i < size; i++) + { + StackTraceElement element = stackTrace[i]; + writeUTF(out, element.getClassName()); + writeUTF(out, element.getMethodName()); + writeUTF(out, element.getFileName()); + out.writeInt(element.getLineNumber()); + } + } + + out.flush(); + } + catch (IOException ex) + { + IOUtil.print(ex); + } + } + + protected Socket connect() throws IOException + { + return new Socket(host, port); + } + + protected void writeUTF(DataOutputStream out, String str) throws IOException + { + out.writeUTF(str == null ? "" : str); //$NON-NLS-1$ + } + + public static String uniqueAgentID() + { + try + { + InetAddress localMachine = InetAddress.getLocalHost(); + return localMachine.getHostName() + "#" + ++uniqueCounter; //$NON-NLS-1$ + } + catch (Exception ex) + { + UUID uuid = UUID.randomUUID(); + return uuid.toString(); + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceServer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceServer.java index 771b444989..c641443d9e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceServer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/RemoteTraceServer.java @@ -1,399 +1,447 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.util.om.trace;
-
-import org.eclipse.net4j.internal.util.bundle.OM;
-import org.eclipse.net4j.util.io.IOUtil;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.Date;
-import java.util.EventObject;
-import java.util.Queue;
-import java.util.concurrent.ConcurrentLinkedQueue;
-
-/**
- * @author Eike Stepper
- */
-public class RemoteTraceServer
-{
- public static final String DEFAULT_ADDRESS = "0.0.0.0"; //$NON-NLS-1$
-
- public static final int DEFAULT_PORT = 2035;
-
- public static final int ANY_PORT = 0;
-
- private static long lastEventID;
-
- private int port;
-
- private String address;
-
- private ServerSocket serverSocket;
-
- private Queue<Listener> listeners = new ConcurrentLinkedQueue<Listener>();
-
- public RemoteTraceServer() throws IOException
- {
- this(DEFAULT_PORT);
- }
-
- public RemoteTraceServer(int port) throws IOException
- {
- this(port, DEFAULT_ADDRESS);
- }
-
- public RemoteTraceServer(int port, String address) throws IOException
- {
- this.port = port;
- this.address = address;
- serverSocket = bind();
- start();
- }
-
- /**
- * @since 3.0
- */
- public void start()
- {
- new Thread("RemoteTraceServer") //$NON-NLS-1$
- {
- @Override
- public void run()
- {
- handleConnections();
- }
- }.start();
- }
-
- public void addListener(Listener listener)
- {
- if (!listeners.contains(listener))
- {
- listeners.add(listener);
- }
- }
-
- public void removeListener(Listener listener)
- {
- listeners.remove(listener);
- }
-
- public Exception close()
- {
- try
- {
- serverSocket.close();
- return null;
- }
- catch (IOException ex)
- {
- OM.LOG.error(ex);
- return ex;
- }
- }
-
- protected ServerSocket bind() throws IOException
- {
- InetAddress addr = InetAddress.getByName(address);
- return new ServerSocket(port, 5, addr);
- }
-
- protected void handleConnections()
- {
- for (;;)
- {
- try
- {
- final Socket socket = serverSocket.accept();
- new Thread()
- {
- @Override
- public void run()
- {
- handleSession(socket);
- }
- }.start();
- }
- catch (IOException ex)
- {
- if (!serverSocket.isClosed())
- {
- IOUtil.print(ex);
- }
-
- break;
- }
- }
- }
-
- protected void handleSession(Socket socket)
- {
- try
- {
- InputStream inputStream = socket.getInputStream();
- DataInputStream in = new DataInputStream(inputStream);
-
- for (;;)
- {
- handleTrace(in);
- }
- }
- catch (IOException ex)
- {
- IOUtil.print(ex);
- }
- }
-
- protected void handleTrace(DataInputStream in) throws IOException
- {
- Event event = new Event();
- event.timeStamp = in.readLong();
- event.agentID = in.readUTF();
- event.bundleID = in.readUTF();
- event.tracerName = in.readUTF();
- event.context = in.readUTF();
- event.message = in.readUTF();
- if (in.readBoolean())
- {
- event.throwable = in.readUTF();
- int size = in.readInt();
- event.stackTrace = new StackTraceElement[size];
- for (int i = 0; i < size; i++)
- {
- String className = in.readUTF();
- String methodName = in.readUTF();
- String fileName = in.readUTF();
- int lineNumber = in.readInt();
- event.stackTrace[i] = new StackTraceElement(className, methodName, fileName, lineNumber);
- }
- }
-
- fireEvent(event);
- }
-
- protected void fireEvent(Event event)
- {
- for (Listener listener : listeners)
- {
- try
- {
- listener.notifyRemoteTrace(event);
- }
- catch (RuntimeException ex)
- {
- IOUtil.print(ex);
- }
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public class Event extends EventObject
- {
- private static final long serialVersionUID = 1L;
-
- private long id;
-
- long timeStamp;
-
- String agentID;
-
- String bundleID;
-
- String tracerName;
-
- String context;
-
- String message;
-
- String throwable;
-
- StackTraceElement[] stackTrace;
-
- Event()
- {
- super(RemoteTraceServer.this);
- id = ++lastEventID;
- }
-
- public RemoteTraceServer getRemoteTraceServer()
- {
- return (RemoteTraceServer)source;
- }
-
- public long getID()
- {
- return id;
- }
-
- public long getTimeStamp()
- {
- return timeStamp;
- }
-
- public String getAgentID()
- {
- return agentID;
- }
-
- public String getBundleID()
- {
- return bundleID;
- }
-
- public String getContext()
- {
- return context;
- }
-
- public String getMessage()
- {
- return message;
- }
-
- public StackTraceElement[] getStackTrace()
- {
- return stackTrace;
- }
-
- public String getThrowable()
- {
- return throwable;
- }
-
- public String getTracerName()
- {
- return tracerName;
- }
-
- @Override
- public String toString()
- {
- StringBuilder builder = new StringBuilder();
- builder.append("TraceEvent[agentID="); //$NON-NLS-1$
- builder.append(agentID);
-
- builder.append(", bundleID="); //$NON-NLS-1$
- builder.append(bundleID);
-
- builder.append(", tracerName="); //$NON-NLS-1$
- builder.append(tracerName);
-
- builder.append(", context="); //$NON-NLS-1$
- builder.append(context);
-
- builder.append(", message="); //$NON-NLS-1$
- builder.append(message);
-
- builder.append(", throwable="); //$NON-NLS-1$
- builder.append(throwable);
-
- builder.append(", stackTrace="); //$NON-NLS-1$
- builder.append(stackTrace);
-
- builder.append("]"); //$NON-NLS-1$
- return builder.toString();
- }
-
- public String getText(int index)
- {
- switch (index)
- {
- case 0:
- return Long.toString(id);
- case 1:
- return new Date(timeStamp).toString();
- case 2:
- return agentID;
- case 3:
- return bundleID;
- case 4:
- return tracerName;
- case 5:
- return context;
- case 6:
- return message;
- case 7:
- return throwable;
- }
-
- throw new IllegalArgumentException("Invalid index: " + index); //$NON-NLS-1$
- }
-
- public boolean hasError()
- {
- return throwable != null && throwable.length() != 0 //
- || stackTrace != null && stackTrace.length != 0;
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public interface Listener
- {
- public void notifyRemoteTrace(Event event);
- }
-
- public static class PrintListener implements Listener
- {
- public static final PrintListener CONSOLE = new PrintListener();
-
- private PrintStream stream;
-
- public PrintListener(PrintStream stream)
- {
- this.stream = stream;
- }
-
- protected PrintListener()
- {
- this(IOUtil.OUT());
- }
-
- public void notifyRemoteTrace(Event event)
- {
- stream.println("[TRACE] " + event.getAgentID()); //$NON-NLS-1$
- stream.println(event.getBundleID());
- stream.println(event.getTracerName());
- stream.println(event.getContext());
- stream.println(event.getMessage());
-
- String throwable = event.getThrowable();
- if (throwable != null && throwable.length() != 0)
- {
- stream.println(throwable);
- }
-
- StackTraceElement[] stackTrace = event.getStackTrace();
- if (stackTrace != null)
- {
- for (StackTraceElement element : stackTrace)
- {
- stream.print(element.getClassName());
- stream.print("." + element.getMethodName()); //$NON-NLS-1$
- stream.print("(" + element.getFileName()); //$NON-NLS-1$
- stream.print(":" + element.getLineNumber()); //$NON-NLS-1$
- stream.println(")"); //$NON-NLS-1$
- }
- }
-
- stream.println();
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.trace; + +import org.eclipse.net4j.internal.util.bundle.OM; +import org.eclipse.net4j.util.io.IOUtil; + +import java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.Date; +import java.util.EventObject; +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; + +/** + * A server that {@link RemoteTraceHandler agents} can connect to and that passes the received {@link OMTraceHandlerEvent trace events} + * to {@link #addListener(Listener) registered} {@link Listener listeners}. + * + * @author Eike Stepper + */ +public class RemoteTraceServer +{ + public static final String DEFAULT_ADDRESS = "0.0.0.0"; //$NON-NLS-1$ + + public static final int DEFAULT_PORT = 2035; + + public static final int ANY_PORT = 0; + + private static long lastEventID; + + private int port; + + private String address; + + private ServerSocket serverSocket; + + private Queue<Listener> listeners = new ConcurrentLinkedQueue<Listener>(); + + public RemoteTraceServer() throws IOException + { + this(DEFAULT_PORT); + } + + public RemoteTraceServer(int port) throws IOException + { + this(port, DEFAULT_ADDRESS); + } + + public RemoteTraceServer(int port, String address) throws IOException + { + this.port = port; + this.address = address; + serverSocket = bind(); + start(); + } + + /** + * @since 3.0 + */ + public void start() + { + new Thread("RemoteTraceServer") //$NON-NLS-1$ + { + @Override + public void run() + { + handleConnections(); + } + }.start(); + } + + public void addListener(Listener listener) + { + if (!listeners.contains(listener)) + { + listeners.add(listener); + } + } + + public void removeListener(Listener listener) + { + listeners.remove(listener); + } + + public Exception close() + { + try + { + serverSocket.close(); + return null; + } + catch (IOException ex) + { + OM.LOG.error(ex); + return ex; + } + } + + protected ServerSocket bind() throws IOException + { + InetAddress addr = InetAddress.getByName(address); + return new ServerSocket(port, 5, addr); + } + + protected void handleConnections() + { + for (;;) + { + try + { + final Socket socket = serverSocket.accept(); + new Thread() + { + @Override + public void run() + { + handleSession(socket); + } + }.start(); + } + catch (IOException ex) + { + if (!serverSocket.isClosed()) + { + IOUtil.print(ex); + } + + break; + } + } + } + + protected void handleSession(Socket socket) + { + try + { + InputStream inputStream = socket.getInputStream(); + DataInputStream in = new DataInputStream(inputStream); + + for (;;) + { + handleTrace(in); + } + } + catch (IOException ex) + { + IOUtil.print(ex); + } + } + + protected void handleTrace(DataInputStream in) throws IOException + { + Event event = new Event(this); + event.timeStamp = in.readLong(); + event.agentID = in.readUTF(); + event.bundleID = in.readUTF(); + event.tracerName = in.readUTF(); + event.context = in.readUTF(); + event.message = in.readUTF(); + if (in.readBoolean()) + { + event.throwable = in.readUTF(); + int size = in.readInt(); + event.stackTrace = new StackTraceElement[size]; + for (int i = 0; i < size; i++) + { + String className = in.readUTF(); + String methodName = in.readUTF(); + String fileName = in.readUTF(); + int lineNumber = in.readInt(); + event.stackTrace[i] = new StackTraceElement(className, methodName, fileName, lineNumber); + } + } + + fireEvent(event); + } + + protected void fireEvent(Event event) + { + for (Listener listener : listeners) + { + try + { + listener.notifyRemoteTrace(event); + } + catch (RuntimeException ex) + { + IOUtil.print(ex); + } + } + } + + /** + * A trace event being passed by a remote trace {@link RemoteTraceServer server} to + * {@link RemoteTraceServer#addListener(Listener) registered} {@link Listener listeners}. + * + * @author Eike Stepper + */ + public static class Event extends EventObject + { + private static final long serialVersionUID = 1L; + + private long id; + + long timeStamp; + + /** + * @since 3.2 + */ + prot |