Package org.eclipse.ecf.provider.generic

## Class SOConfig

- java.lang.Object
- - org.eclipse.ecf.provider.generic.SOConfig

All Implemented Interfaces:
  `ISharedObjectConfig`

    public class SOConfig
    extends Object
    implements ISharedObjectConfig

### Field Summary

Fields
`protected SOContainer` `container`
`protected SOContext` `context`
`protected ID` `homeContainerID`
`protected boolean` `isActive`
`protected Map` `properties`
`protected ID` `sharedObjectID`

### Constructor Summary

Constructors
`SOConfig​(ID sharedObjectID, ID homeContainerID, SOContainer cont, Map dict)`

### Method Summary

All Methods Instance Methods Concrete Methods
`ISharedObjectContext` `getContext()` Get the ISharedObjectContext instance for this ISharedObject.
`ID` `getHomeContainerID()` Get the ID of the container that is the home of the primary copy of the ISharedObject instance.
`Map` `getProperties()` Get properties associated with with this ISharedObject
`ID` `getSharedObjectID()` Get the ID associated with this ISharedObject by its container.
`protected void` `makeActive​(IQueueEnqueue queue)`
`protected void` `makeInactive()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### container

    protected SOContainer container

#### sharedObjectID

    protected ID sharedObjectID

#### homeContainerID

    protected ID homeContainerID

#### isActive

    protected boolean isActive

#### properties

    protected Map properties

#### context

    protected SOContext context

### Constructor Detail

#### SOConfig

    public SOConfig​(ID sharedObjectID,
                    ID homeContainerID,
                    SOContainer cont,
                    Map dict)

### Method Detail

#### makeActive

    protected void makeActive​(IQueueEnqueue queue)

#### makeInactive

    protected void makeInactive()

#### getSharedObjectID

    public ID getSharedObjectID()

Description copied from interface: `ISharedObjectConfig`
Get the ID associated with this ISharedObject by its container. Containers must provide an implementation of this configuration that provides a non-null ID instance in response to this method call.

Specified by:
  `getSharedObjectID` in interface `ISharedObjectConfig`
Returns:
  ID that ISharedObject can use for imlementing its own ISharedObject.getID(). Will not be null.

#### getHomeContainerID

    public ID getHomeContainerID()

Description copied from interface: `ISharedObjectConfig`
Get the ID of the container that is the home of the primary copy of the ISharedObject instance.

Specified by:
  `getHomeContainerID` in interface `ISharedObjectConfig`
Returns:
  the ID of the container that is the home of the primary copy of the ISharedObject instance. Will not be null.

#### getContext

    public ISharedObjectContext getContext()

Description copied from interface: `ISharedObjectConfig`
Get the ISharedObjectContext instance for this ISharedObject. The ISharedObjectContext provides access to container-provided services, including messaging to remote containers and to remote replicas of the ISharedObject, as well as access to OSGI-platform services.

Specified by:
  `getContext` in interface `ISharedObjectConfig`
Returns:
  ISharedObjectContext for the ISharedObject to use to access container and associated services. Will return null if context is no longer valid.

#### getProperties

    public Map getProperties()

Description copied from interface: `ISharedObjectConfig`
Get properties associated with with this ISharedObject

Specified by:
  `getProperties` in interface `ISharedObjectConfig`
Returns:
  Map with properties associated with this ISharedObject instance. Will not be null.