org.appng.api.support

## Class SiteAwareObjectInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.ObjectInputStream
    - - org.appng.api.support.SiteAwareObjectInputStream

- All Implemented Interfaces:
    Closeable, DataInput, ObjectInput, ObjectStreamConstants, AutoCloseable

      public class SiteAwareObjectInputStream
      extends ObjectInputStream

  An `ObjectInputStream` that is aware of the `org.appng.core.service.SiteClassLoader` of an appNG `Site`.
  Author:
    Matthias Mueller
  See Also:
    `Site.getSiteClassLoader()`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.io.ObjectInputStream

      `ObjectInputStream.GetField`

  - ### Field Summary

    - ### Fields inherited from interface java.io.ObjectStreamConstants

      `baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SiteAwareObjectInputStream(InputStream is, Environment environment)`
    `SiteAwareObjectInputStream(InputStream is, javax.servlet.ServletContext context)` Creates an `SiteAwareObjectInputStream`, retrieving informations about the active `org.appng.api.model.Site`s from the given `ServletContext`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Environment` | `getEnvironment()`
    `Site` | `getSite(String siteName)` Retrieves the `org.appng.api.model.Site` with the given name
    `ClassLoader` | `getSiteClassloader(String siteName)`
    `protected Class<?>` | `resolveClass(ObjectStreamClass objectStreamClass)`
    `void` | `setSite(String site)`

    - ### Methods inherited from class java.io.ObjectInputStream

      `available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, resolveProxyClass, skipBytes`

    - ### Methods inherited from class java.io.InputStream

      `mark, markSupported, read, reset, skip`

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

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

    - ### Methods inherited from interface java.io.ObjectInput

      `read, skip`

- - ### Constructor Detail

    - #### SiteAwareObjectInputStream

          public SiteAwareObjectInputStream(InputStream is,
                                            javax.servlet.ServletContext context)
                                     throws IOException

      Creates an `SiteAwareObjectInputStream`, retrieving informations about the active `org.appng.api.model.Site`s from the given `ServletContext`
      Parameters:
        `is` - an `InputStream`
        `context` - the `ServletContext`
      Throws:
        `IOException` - if reading from the `InputStream` fails

    - #### SiteAwareObjectInputStream

          public SiteAwareObjectInputStream(InputStream is,
                                            Environment environment)
                                     throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### resolveClass

          protected Class<?> resolveClass(ObjectStreamClass objectStreamClass)
                                   throws IOException,
                                          ClassNotFoundException

      Overrides:
        `resolveClass` in class `ObjectInputStream`
      Throws:
        `IOException`
        `ClassNotFoundException`

    - #### getSite

          public Site getSite(String siteName)

      Retrieves the `org.appng.api.model.Site` with the given name
      Parameters:
        `siteName` - the name of the site
      Returns:
        the `org.appng.api.model.Site`

    - #### getSiteClassloader

          public ClassLoader getSiteClassloader(String siteName)

    - #### getEnvironment

          public Environment getEnvironment()

    - #### setSite

          public void setSite(String site)

Copyright © 2011–2023 aiticon GmbH. All rights reserved.