Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2005-01-16 05:00:15 +0000
committerslewis2005-01-16 05:00:15 +0000
commit9f1314e5ba4a2ecc508c993aea2d83a5f440194a (patch)
treec780aa763d876ddb28928b2a6e37901101f59f09
parent2d09e505bbddccc4eb833978f860e7b19cc178d3 (diff)
downloadorg.eclipse.ecf-9f1314e5ba4a2ecc508c993aea2d83a5f440194a.tar.gz
org.eclipse.ecf-9f1314e5ba4a2ecc508c993aea2d83a5f440194a.tar.xz
org.eclipse.ecf-9f1314e5ba4a2ecc508c993aea2d83a5f440194a.zip
Added BaseSharedObject class that implements ISharedObject and IIdentifiable
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/.options3
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/sobject/BaseSharedObject.java114
2 files changed, 116 insertions, 1 deletions
diff --git a/framework/bundles/org.eclipse.ecf.provider/.options b/framework/bundles/org.eclipse.ecf.provider/.options
index 3597b04c3..61534c249 100644
--- a/framework/bundles/org.eclipse.ecf.provider/.options
+++ b/framework/bundles/org.eclipse.ecf.provider/.options
@@ -6,4 +6,5 @@ org.eclipse.ecf.provider/debug/container = true
org.eclipse.ecf.provider/debug/sharedobjectwrapper = true
org.eclipse.ecf.provider/debug/sharedobjectmanager = true
org.eclipse.ecf.provider/debug/gmm = true
-org.eclipse.ecf.provider/debug/containerfactory = true \ No newline at end of file
+org.eclipse.ecf.provider/debug/containerfactory = true
+org.eclipse.ecf.provider/debug/basesharedobject = true \ No newline at end of file
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/sobject/BaseSharedObject.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/sobject/BaseSharedObject.java
new file mode 100644
index 000000000..5a17a7f83
--- /dev/null
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/sobject/BaseSharedObject.java
@@ -0,0 +1,114 @@
+/****************************************************************************
+* Copyright (c) 2004 Composent, Inc. 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:
+* Composent, Inc. - initial API and implementation
+*****************************************************************************/
+
+package org.eclipse.ecf.provider.generic.sobject;
+
+import java.util.Map;
+
+import org.eclipse.ecf.core.IIdentifiable;
+import org.eclipse.ecf.core.ISharedObject;
+import org.eclipse.ecf.core.ISharedObjectConfig;
+import org.eclipse.ecf.core.ISharedObjectContext;
+import org.eclipse.ecf.core.SharedObjectInitException;
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.util.Event;
+import org.eclipse.ecf.provider.Trace;
+
+/**
+ * @author slewis
+ *
+ */
+public class BaseSharedObject implements ISharedObject, IIdentifiable {
+
+ Trace trace = Trace.create("basesharedobject");
+
+ ISharedObjectConfig config = null;
+
+ protected void trace(String msg) {
+ if (Trace.ON && trace != null) {
+ trace.msg(msg);
+ }
+ }
+ protected void traceStack(String msg, Throwable t) {
+ if (Trace.ON && trace != null) {
+ trace.dumpStack(t,msg);
+ }
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.core.ISharedObject#init(org.eclipse.ecf.core.ISharedObjectConfig)
+ */
+ public void init(ISharedObjectConfig initData)
+ throws SharedObjectInitException {
+ trace("init("+initData+")");
+ this.config = initData;
+ }
+ protected ISharedObjectConfig getConfig() {
+ return config;
+ }
+ protected ISharedObjectContext getContext() {
+ return getConfig().getContext();
+ }
+ protected ID getHomeID() {
+ return getConfig().getHomeContainerID();
+ }
+ protected ID getLocalID() {
+ return getContext().getLocalContainerID();
+ }
+ protected ID getGroupID() {
+ return getContext().getGroupID();
+ }
+ protected boolean isPrimary() {
+ return (getLocalID().equals(getHomeID()));
+ }
+ protected Map getProperties() {
+ return getConfig().getProperties();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.core.ISharedObject#handleEvent(org.eclipse.ecf.core.util.Event)
+ */
+ public void handleEvent(Event event) {
+ handleUnhandledEvent(event);
+ }
+ protected void handleUnhandledEvent(Event event) {
+ trace("Unhandled event:"+event);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.core.ISharedObject#handleEvents(org.eclipse.ecf.core.util.Event[])
+ */
+ public void handleEvents(Event[] events) {
+ if (events == null) return;
+ for(int i=0; i < events.length; i++) {
+ handleEvent(events[i]);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.core.ISharedObject#dispose(org.eclipse.ecf.core.identity.ID)
+ */
+ public void dispose(ID containerID) {
+ config = null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.core.ISharedObject#getAdapter(java.lang.Class)
+ */
+ public Object getAdapter(Class clazz) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.core.IIdentifiable#getID()
+ */
+ public ID getID() {
+ return getConfig().getSharedObjectID();
+ }
+
+}

Back to the top