Class DeserializeChannelFilter

java.lang.Object
org.jcsp.net.dynamic.DeserializeChannelFilter
All Implemented Interfaces:
Filter

class DeserializeChannelFilter extends Object implements Filter
This class is used in the dynamic class loading mechanism. Instances of the class extract Message objects from SerializedMessage objects. Dynamic class loading can be enabled by using the constructor which takes a ClassManager. If dynamic class loading is enabled and a DynamicClassLoaderMessage is filtered, the ClassManager object is supplied to the Message object and the underlying message extracted. Any classes that need loading from the remote Node are requested and loaded as necessary.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private ClassManager
    The class manger to use for classes dynamically received.
    private boolean
    Set to true if dynamic class loading is enabled.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new DeserializeChannelFilter with dynamic loading disabled.
    Constructs a new DeserializeChannelFilter with a reference to a class manager.
  • Method Summary

    Modifier and Type
    Method
    Description
    filter(Object object)
    This method takes an object and substitutes it for another object based upon the following rules: If the object is an instance of the DynamicClassLoaderMessage class and dynamic class loading is enabled, then the filter will return the object returned by the supplied object's get method.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • cm

      private ClassManager cm
      The class manger to use for classes dynamically received.
    • dynamic

      private boolean dynamic
      Set to true if dynamic class loading is enabled. If false, no filtering rules are applied.
  • Constructor Details

    • DeserializeChannelFilter

      DeserializeChannelFilter(ClassManager cm)
      Constructs a new DeserializeChannelFilter with a reference to a class manager.
      Parameters:
      cm - the class manager to use for received classes.
    • DeserializeChannelFilter

      DeserializeChannelFilter()
      Constructs a new DeserializeChannelFilter with dynamic loading disabled.
  • Method Details

    • filter

      public Object filter(Object object)
      This method takes an object and substitutes it for another object based upon the following rules: If the object is an instance of the DynamicClassLoaderMessage class and dynamic class loading is enabled, then the filter will return the object returned by the supplied object's get method. A ClassManager will be supplied to the method. If the object is an instance of the SerializedMessage class then the object's get method will be called. The message being held by the SerializedMessage will be deserialized but classes will not be dynamically loaded. If the object is not a SerializedMessage object, then the object itself will be returned without modification.
      Specified by:
      filter in interface Filter
      Parameters:
      object - The object to filter.
      Returns:
      the substituted object.