<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_01) on Thu Jan 20 20:46:29 PST 2005 -->
<TITLE>
ISharedObjectManager
</TITLE>

<META NAME="keywords" CONTENT="org.eclipse.ecf.core.ISharedObjectManager interface">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="ISharedObjectManager";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISharedObjectManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContext.html" title="interface in org.eclipse.ecf.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/eclipse/ecf/core/SharedObjectAddAbortException.html" title="class in org.eclipse.ecf.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/eclipse/ecf/core/ISharedObjectManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ISharedObjectManager.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.eclipse.ecf.core</FONT>
<BR>
Interface ISharedObjectManager</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/eclipse/ecf/provider/generic/SOManager.html" title="class in org.eclipse.ecf.provider.generic">SOManager</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>ISharedObjectManager</B></DL>
</PRE>

<P>
Manager for creating, disposing, and accessing ISharedObjects from an ISharedObjectContainer.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContainer.html#getSharedObjectManager()"><CODE>ISharedObjectContainer.getSharedObjectManager()</CODE></A></DL>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_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>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#addSharedObject(org.eclipse.ecf.core.identity.ID, org.eclipse.ecf.core.ISharedObject, java.util.Map, org.eclipse.ecf.core.ISharedObjectContainerTransaction)">addSharedObject</A></B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectID,
                <A HREF="../../../../org/eclipse/ecf/core/ISharedObject.html" title="interface in org.eclipse.ecf.core">ISharedObject</A>&nbsp;sharedObject,
                java.util.Map&nbsp;properties,
                <A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContainerTransaction.html" title="interface in org.eclipse.ecf.core">ISharedObjectContainerTransaction</A>&nbsp;trans)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an ISharedObject to this container.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/ecf/core/ISharedObjectConnector.html" title="interface in org.eclipse.ecf.core">ISharedObjectConnector</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#connectSharedObjects(org.eclipse.ecf.core.identity.ID, org.eclipse.ecf.core.identity.ID[])">connectSharedObjects</A></B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectFrom,
                     <A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>[]&nbsp;sharedObjectsTo)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create an ISharedObjectConnector instance for sending messages from a
 single ISharedObject to one or more receiver ISharedObjects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#createSharedObject(org.eclipse.ecf.core.SharedObjectDescription, org.eclipse.ecf.core.ISharedObjectContainerTransaction)">createSharedObject</A></B>(<A HREF="../../../../org/eclipse/ecf/core/SharedObjectDescription.html" title="class in org.eclipse.ecf.core">SharedObjectDescription</A>&nbsp;sd,
                   <A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContainerTransaction.html" title="interface in org.eclipse.ecf.core">ISharedObjectContainerTransaction</A>&nbsp;trans)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new ISharedObject within this container from the given
 SharedObjectDescription.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#disconnectSharedObjects(org.eclipse.ecf.core.ISharedObjectConnector)">disconnectSharedObjects</A></B>(<A HREF="../../../../org/eclipse/ecf/core/ISharedObjectConnector.html" title="interface in org.eclipse.ecf.core">ISharedObjectConnector</A>&nbsp;connector)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy an ISharedObjectConnector instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/ecf/core/ISharedObject.html" title="interface in org.eclipse.ecf.core">ISharedObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#getSharedObject(org.eclipse.ecf.core.identity.ID)">getSharedObject</A></B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectID)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the ISharedObject instance corresponding to the given sharedObjectID.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#getSharedObjectConnectors(org.eclipse.ecf.core.identity.ID)">getSharedObjectConnectors</A></B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectFrom)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the sharedObjectConnectors associated with the given sharedObjectID</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#getSharedObjectIDs()">getSharedObjectIDs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the array of SharedObject instances currently contained by this
 ISharedObjectContainer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/ecf/core/ISharedObject.html" title="interface in org.eclipse.ecf.core">ISharedObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/ecf/core/ISharedObjectManager.html#removeSharedObject(org.eclipse.ecf.core.identity.ID)">removeSharedObject</A></B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectID)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the given sharedObjectID from this ISharedObjectContainer.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_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>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="addSharedObject(org.eclipse.ecf.core.identity.ID, org.eclipse.ecf.core.ISharedObject, java.util.Map, org.eclipse.ecf.core.ISharedObjectContainerTransaction)"><!-- --></A><H3>
addSharedObject</H3>
<PRE>
<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A> <B>addSharedObject</B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectID,
                   <A HREF="../../../../org/eclipse/ecf/core/ISharedObject.html" title="interface in org.eclipse.ecf.core">ISharedObject</A>&nbsp;sharedObject,
                   java.util.Map&nbsp;properties,
                   <A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContainerTransaction.html" title="interface in org.eclipse.ecf.core">ISharedObjectContainerTransaction</A>&nbsp;trans)
                   throws <A HREF="../../../../org/eclipse/ecf/core/SharedObjectAddException.html" title="class in org.eclipse.ecf.core">SharedObjectAddException</A></PRE>
<DL>
<DD>Add an ISharedObject to this container.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sharedObjectID</CODE> - the ID of new SharedObject<DD><CODE>sharedObject</CODE> - the ISharedObject instance to add<DD><CODE>properties</CODE> - the Map associated with the added ISharedObject<DD><CODE>trans</CODE> - the transaction governing the creation of the shared object.
            If null, creation will not be transactional
<DT><B>Returns:</B><DD>ID the sharedObjectID of the added ISharedObject
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/eclipse/ecf/core/SharedObjectAddException.html" title="class in org.eclipse.ecf.core">SharedObjectAddException</A></CODE> - if the add cannot be accomplished for any reason</DL>
</DD>
</DL>
<HR>

<A NAME="connectSharedObjects(org.eclipse.ecf.core.identity.ID, org.eclipse.ecf.core.identity.ID[])"><!-- --></A><H3>
connectSharedObjects</H3>
<PRE>
<A HREF="../../../../org/eclipse/ecf/core/ISharedObjectConnector.html" title="interface in org.eclipse.ecf.core">ISharedObjectConnector</A> <B>connectSharedObjects</B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectFrom,
                                            <A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>[]&nbsp;sharedObjectsTo)
                                            throws <A HREF="../../../../org/eclipse/ecf/core/SharedObjectConnectException.html" title="class in org.eclipse.ecf.core">SharedObjectConnectException</A></PRE>
<DL>
<DD>Create an ISharedObjectConnector instance for sending messages from a
 single ISharedObject to one or more receiver ISharedObjects. All
 specified ISharedObject instances must be contained by this
 ISharedObjectContainer.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sharedObjectFrom</CODE> - the ID of the sender ISharedObject<DD><CODE>sharedObjectsTo</CODE> - the ID[] of the receiver ISharedObjects
<DT><B>Returns:</B><DD>a valid instance of ISharedObjectConnector. Null if no connector
         can be made
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/eclipse/ecf/core/SharedObjectConnectException.html" title="class in org.eclipse.ecf.core">SharedObjectConnectException</A></CODE> - thrown if specified sender or receivers do not exist within
             the context of this container</DL>
</DD>
</DL>
<HR>

<A NAME="createSharedObject(org.eclipse.ecf.core.SharedObjectDescription, org.eclipse.ecf.core.ISharedObjectContainerTransaction)"><!-- --></A><H3>
createSharedObject</H3>
<PRE>
<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A> <B>createSharedObject</B>(<A HREF="../../../../org/eclipse/ecf/core/SharedObjectDescription.html" title="class in org.eclipse.ecf.core">SharedObjectDescription</A>&nbsp;sd,
                      <A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContainerTransaction.html" title="interface in org.eclipse.ecf.core">ISharedObjectContainerTransaction</A>&nbsp;trans)
                      throws <A HREF="../../../../org/eclipse/ecf/core/SharedObjectCreateException.html" title="class in org.eclipse.ecf.core">SharedObjectCreateException</A></PRE>
<DL>
<DD>Create a new ISharedObject within this container from the given
 SharedObjectDescription.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sd</CODE> - the SharedObjectDescription that describes the SharedObject to
            be created<DD><CODE>trans</CODE> - the transaction governing the creation of the shared object.
            If null, creation will not be transactional
<DT><B>Returns:</B><DD>ID the sharedObjectID of the added ISharedObject
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/eclipse/ecf/core/SharedObjectCreateException.html" title="class in org.eclipse.ecf.core">SharedObjectCreateException</A></CODE> - if the SharedObject cannot be created</DL>
</DD>
</DL>
<HR>

<A NAME="disconnectSharedObjects(org.eclipse.ecf.core.ISharedObjectConnector)"><!-- --></A><H3>
disconnectSharedObjects</H3>
<PRE>
void <B>disconnectSharedObjects</B>(<A HREF="../../../../org/eclipse/ecf/core/ISharedObjectConnector.html" title="interface in org.eclipse.ecf.core">ISharedObjectConnector</A>&nbsp;connector)
                             throws <A HREF="../../../../org/eclipse/ecf/core/SharedObjectDisconnectException.html" title="class in org.eclipse.ecf.core">SharedObjectDisconnectException</A></PRE>
<DL>
<DD>Destroy an ISharedObjectConnector instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>connector</CODE> - the connector previously created via connectSharedObjects
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/eclipse/ecf/core/SharedObjectConnectException.html" title="class in org.eclipse.ecf.core">SharedObjectConnectException</A></CODE> - thrown if specified connector does not exist in the context
             of this container
<DD><CODE><A HREF="../../../../org/eclipse/ecf/core/SharedObjectDisconnectException.html" title="class in org.eclipse.ecf.core">SharedObjectDisconnectException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getSharedObject(org.eclipse.ecf.core.identity.ID)"><!-- --></A><H3>
getSharedObject</H3>
<PRE>
<A HREF="../../../../org/eclipse/ecf/core/ISharedObject.html" title="interface in org.eclipse.ecf.core">ISharedObject</A> <B>getSharedObject</B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectID)</PRE>
<DL>
<DD>Get the ISharedObject instance corresponding to the given sharedObjectID.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sharedObjectID</CODE> - of the desired ISharedObject
<DT><B>Returns:</B><DD>ISharedObject found. Return null if ISharedObject not found.</DL>
</DD>
</DL>
<HR>

<A NAME="getSharedObjectConnectors(org.eclipse.ecf.core.identity.ID)"><!-- --></A><H3>
getSharedObjectConnectors</H3>
<PRE>
java.util.List <B>getSharedObjectConnectors</B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectFrom)</PRE>
<DL>
<DD>Get the sharedObjectConnectors associated with the given sharedObjectID
<P>
<DD><DL>

<DT><B>Returns:</B><DD>List of ISharedObjectConnector instances</DL>
</DD>
</DL>
<HR>

<A NAME="getSharedObjectIDs()"><!-- --></A><H3>
getSharedObjectIDs</H3>
<PRE>
<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>[] <B>getSharedObjectIDs</B>()</PRE>
<DL>
<DD>Get the array of SharedObject instances currently contained by this
 ISharedObjectContainer
<P>
<DD><DL>

<DT><B>Returns:</B><DD>ID[] the IDs of currently contained ISharedObject instances</DL>
</DD>
</DL>
<HR>

<A NAME="removeSharedObject(org.eclipse.ecf.core.identity.ID)"><!-- --></A><H3>
removeSharedObject</H3>
<PRE>
<A HREF="../../../../org/eclipse/ecf/core/ISharedObject.html" title="interface in org.eclipse.ecf.core">ISharedObject</A> <B>removeSharedObject</B>(<A HREF="../../../../org/eclipse/ecf/core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</A>&nbsp;sharedObjectID)</PRE>
<DL>
<DD>Remove the given sharedObjectID from this ISharedObjectContainer.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sharedObjectID</CODE> - the ID of the ISharedObject to remove
<DT><B>Returns:</B><DD>ISharedObject removed. Returns null if ISharedObject not found</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ISharedObjectManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/eclipse/ecf/core/ISharedObjectContext.html" title="interface in org.eclipse.ecf.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/eclipse/ecf/core/SharedObjectAddAbortException.html" title="class in org.eclipse.ecf.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/eclipse/ecf/core/ISharedObjectManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ISharedObjectManager.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
