Class DeserializeChannelFilter

  • All Implemented Interfaces:
    Filter

    class DeserializeChannelFilter
    extends java.lang.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 cm
      The class manger to use for classes dynamically received.
      private boolean dynamic
      Set to true if dynamic class loading is enabled.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object filter​(java.lang.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 Detail

      • 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 Detail

      • 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 Detail

      • filter

        public java.lang.Object filter​(java.lang.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.