Class SerializableClassRegistry

java.lang.Object
org.jboss.marshalling.reflect.SerializableClassRegistry

public final class SerializableClassRegistry extends Object
A registry for reflection information usable by serialization implementations. Objects returned from this registry can be used to invoke private methods without security checks, so it is important to be careful not to "leak" instances out of secured implementations.
  • Field Details

  • Constructor Details

    • SerializableClassRegistry

      private SerializableClassRegistry()
  • Method Details

    • getInstance

      public static SerializableClassRegistry getInstance() throws SecurityException
      Get the serializable class registry instance, if allowed by the current security manager. The caller must have the java.io.SerializablePermission "allowSerializationReflection" in order to invoke this method.
      Returns:
      the registry
      Throws:
      SecurityException - if the caller does not have sufficient privileges
    • getInstanceUnchecked

      static SerializableClassRegistry getInstanceUnchecked()
    • lookup

      public SerializableClass lookup(Class<?> subject)
      Look up serialization information for a class. The resultant object will be cached.
      Parameters:
      subject - the class to look up
      Returns:
      the serializable class information
    • release

      public void release(ClassLoader classLoader)
      Release all reflection information belonging to the given class loader.
      Parameters:
      classLoader - the class loader to release