diff options
| author | slewis | 2005-01-16 05:00:15 +0000 |
|---|---|---|
| committer | slewis | 2005-01-16 05:00:15 +0000 |
| commit | 9f1314e5ba4a2ecc508c993aea2d83a5f440194a (patch) | |
| tree | c780aa763d876ddb28928b2a6e37901101f59f09 | |
| parent | 2d09e505bbddccc4eb833978f860e7b19cc178d3 (diff) | |
| download | org.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/.options | 3 | ||||
| -rw-r--r-- | framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/sobject/BaseSharedObject.java | 114 |
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(); + } + +} |
