org.apache.ode.jacob

## Class JacobObject

- java.lang.Object
- - org.apache.ode.jacob.JacobObject

- All Implemented Interfaces:
    java.io.Serializable
  Direct Known Subclasses:
    ChannelListener, JacobRunnable

      public abstract class JacobObject
      extends java.lang.Object
      implements java.io.Serializable

  Base class for constructs which rely on a Java method body to represent some aspect of the process.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JacobObject()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.String` | `getClassName()` Get the unadorned (no package) name of this class.
    `protected static java.lang.Object` | `getExtension(java.lang.Class extensionClass)`
    `abstract java.util.Set<java.lang.reflect.Method>` | `getImplementedMethods()`
    `java.lang.reflect.Method` | `getMethod(java.lang.String methodName)`
    `protected static <T extends Channel> T` | `importChannel(java.lang.String channelId, java.lang.Class<T> channelClass)`
    `protected static void` | `instance(JacobRunnable concretion)` Instantiation; the Java code `instance(new F(x,y,z))` is equivalent to `F(x,y,z)` in the process calculus.
    `protected <T extends Channel> T` | `newChannel(java.lang.Class<T> channelType)`
    `protected <T extends Channel> T` | `newChannel(java.lang.Class<T> channelType, java.lang.String description)` Channel creation; the Java code `Channel x = newChannel(XChannel.class) ...` is equivalent to `(new x) ...`
    `protected static void` | `object(boolean replication, ChannelListener methodList)`
    `protected static void` | `object(boolean replication, ChannelListener[] methodLists)`
    `protected static void` | `object(boolean replication, java.util.Set<ChannelListener> methodLists)`
    `protected static <T extends Channel> T` | `object(ChannelListener<T> methodList)` Object; the Java code "object(x, ChannelListener)" is equivalent to `x ? ChannelListener` in the process algebra.
    `protected static <T extends Channel> T` | `replication(ChannelListener<T> methodList)`
    `protected static <T extends Channel> T` | `replication(T channel)` Obtain a replicated channel broadcaster.
    `java.lang.String` | `toString()`

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

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

- - ### Constructor Detail

    - #### JacobObject

          public JacobObject()

  - ### Method Detail

    - #### getImplementedMethods

          public abstract java.util.Set<java.lang.reflect.Method> getImplementedMethods()

    - #### getClassName

          protected java.lang.String getClassName()

      Get the unadorned (no package) name of this class.

    - #### getExtension

          protected static java.lang.Object getExtension(java.lang.Class extensionClass)

    - #### importChannel

          protected static <T extends Channel> T importChannel(java.lang.String channelId,
                                                               java.lang.Class<T> channelClass)

    - #### instance

          protected static void instance(JacobRunnable concretion)

      Instantiation; the Java code `instance(new F(x,y,z))` is equivalent to `F(x,y,z)` in the process calculus.
      Parameters:
        `concretion` - the concretion of a process template

    - #### newChannel

          protected <T extends Channel> T newChannel(java.lang.Class<T> channelType)
                                              throws java.lang.IllegalArgumentException

      Throws:
        `java.lang.IllegalArgumentException`

    - #### newChannel

          protected <T extends Channel> T newChannel(java.lang.Class<T> channelType,
                                                     java.lang.String description)
                                              throws java.lang.IllegalArgumentException

      Channel creation; the Java code `Channel x = newChannel(XChannel.class) ...` is equivalent to `(new x) ...` in the process calculus.
      Throws:
        `java.lang.IllegalArgumentException`

    - #### object

          protected static <T extends Channel> T object(ChannelListener<T> methodList)

      Object; the Java code "object(x, ChannelListener)" is equivalent to `x ? ChannelListener` in the process algebra.
      Parameters:
        `methodList` - method list for the communication reduction
      See Also:
        `JacobThread.object(boolean, org.apache.ode.jacob.ChannelListener)`

    - #### object

          protected static void object(boolean replication,
                                       ChannelListener methodList)

    - #### object

          protected static void object(boolean replication,
                                       ChannelListener[] methodLists)

    - #### object

          protected static void object(boolean replication,
                                       java.util.Set<ChannelListener> methodLists)

    - #### replication

          protected static <T extends Channel> T replication(ChannelListener<T> methodList)

    - #### replication

          protected static <T extends Channel> T replication(T channel)

      Obtain a replicated channel broadcaster.
      Parameters:
        `channel` - target channel
      Returns:
        replicated channel broadcaster

    - #### getMethod

          public java.lang.reflect.Method getMethod(java.lang.String methodName)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`