| Modifier and Type | Class and Description |
|---|---|
| private static class | Obj.
An ObjectInputStream that uses a class loader to find classes. |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final String[] | |
| pack-priv static final String[] | |
| pack-priv static final String[] | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| private static final int | REMOTE_LOC
Deprecated
|
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| private static final boolean | trustSerialData
Determines whether objects may be deserialized or reconstructed from a content of 'javaSerializedData', 'javaRemoteLocation' or 'javaReferenceAddress' LDAP attributes. |
| pack-priv static final int |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv static Object | |
| private static Reference | |
| private static Object | |
| private static Object | |
| pack-priv static Attributes | determineBindAttrs(char separator, Object obj, Attributes attrs, boolean cloned, Name name, Context ctx, Hashtable<?, ?> env)
Returns the attributes to bind given an object and its attributes. |
| private static Attributes | encodeObject(char separator, Object obj, Attributes attrs, Attribute objectClass, boolean cloned)
Encode an object in LDAP attributes. |
| private static Attributes | encodeReference(char separator, Reference ref, Attributes attrs, Object orig)
Convert a Reference object into several LDAP attributes. |
| private static String[] | Returns: an array of URL strings for the codebaseEach value in javaCodebase contains a list of space-separated URLs. |
| private static byte[] |
| BASE_OBJECT | back to summary |
|---|---|
| pack-priv static final int BASE_OBJECT | |
| CLASSNAME | back to summary |
|---|---|
| pack-priv static final int CLASSNAME | |
| CODEBASE | back to summary |
|---|---|
| pack-priv static final int CODEBASE | |
| FACTORY | back to summary |
|---|---|
| pack-priv static final int FACTORY | |
| JAVA_ATTRIBUTES | back to summary |
|---|---|
| pack-priv static final String[] JAVA_ATTRIBUTES | |
| JAVA_OBJECT_CLASSES | back to summary |
|---|---|
| pack-priv static final String[] JAVA_OBJECT_CLASSES | |
| JAVA_OBJECT_CLASSES_LOWER | back to summary |
|---|---|
| pack-priv static final String[] JAVA_OBJECT_CLASSES_LOWER | |
| MAR_OBJECT | back to summary |
|---|---|
| pack-priv static final int MAR_OBJECT | |
| OBJECT_CLASS | back to summary |
|---|---|
| pack-priv static final int OBJECT_CLASS | |
| REF_ADDR | back to summary |
|---|---|
| pack-priv static final int REF_ADDR | |
| REF_OBJECT | back to summary |
|---|---|
| pack-priv static final int REF_OBJECT | |
| REMOTE_LOC | back to summary |
|---|---|
| private static final int REMOTE_LOC
Deprecated
| |
| SER_OBJECT | back to summary |
|---|---|
| pack-priv static final int SER_OBJECT | |
| SERIALIZED_DATA | back to summary |
|---|---|
| pack-priv static final int SERIALIZED_DATA | |
| STRUCTURAL | back to summary |
|---|---|
| pack-priv static final int STRUCTURAL | |
| trustSerialData | back to summary |
|---|---|
| private static final boolean trustSerialData Determines whether objects may be deserialized or reconstructed from a content of 'javaSerializedData', 'javaRemoteLocation' or 'javaReferenceAddress' LDAP attributes. | |
| TYPENAME | back to summary |
|---|---|
| pack-priv static final int TYPENAME | |
| Obj | back to summary |
|---|---|
| private Obj() | |
| decodeObject | back to summary |
|---|---|
| pack-priv static Object decodeObject(Attributes attrs) throws NamingException | |
| decodeReference | back to summary |
|---|---|
| private static Reference decodeReference(Attributes attrs, String[] codebases) throws NamingException, IOException | |
| decodeRmiObject | back to summary |
|---|---|
| private static Object decodeRmiObject(String className, String rmiName) throws NamingException | |
| deserializeObject | back to summary |
|---|---|
| private static Object deserializeObject(byte[] obj, ClassLoader cl) throws NamingException | |
| determineBindAttrs | back to summary |
|---|---|
| pack-priv static Attributes determineBindAttrs(char separator, Object obj, Attributes attrs, boolean cloned, Name name, Context ctx, Hashtable<?, ?> env) throws NamingException Returns the attributes to bind given an object and its attributes. | |
| encodeObject | back to summary |
|---|---|
| private static Attributes encodeObject(char separator, Object obj, Attributes attrs, Attribute objectClass, boolean cloned) throws NamingException Encode an object in LDAP attributes. Supports binding Referenceable or Reference, Serializable, and DirContext. If the object supports the Referenceable interface then encode the reference to the object. See encodeReference() for details. If the object is serializable, it is stored as follows: javaClassName value: Object.getClass(); javaSerializedData value: serialized form of Object (in binary form). javaTypeName value: getTypeNames(Object.getClass()); | |
| encodeReference | back to summary |
|---|---|
| private static Attributes encodeReference(char separator, Reference ref, Attributes attrs, Object orig) throws NamingException Convert a Reference object into several LDAP attributes. A Reference is stored as into the following attributes: javaClassName value: Reference.getClassName(); javaFactory value: Reference.getFactoryClassName(); javaCodeBase value: Reference.getFactoryClassLocation(); javaReferenceAddress value: #0#typeA#valA value: #1#typeB#valB value: #2#typeC##[serialized RefAddr C] value: #3#typeD#valD where - the first character denotes the separator - the number following the first separator denotes the position of the RefAddr within the Reference - "typeA" is RefAddr.getType() - ## denotes that the Base64-encoded form of the non-StringRefAddr is to follow; otherwise the value that follows is StringRefAddr.getContents() The default separator is the hash character (#). May provide property for this in future. | |
| getCodebases | back to summary |
|---|---|
| private static String[] getCodebases(Attribute codebaseAttr) throws NamingException Each value in javaCodebase contains a list of space-separated URLs. Each value is independent; we can pick any of the values so we just use the first one.
| |
| serializeObject | back to summary |
|---|---|
| private static byte[] serializeObject(Object obj) throws NamingException | |
| Modifier and Type | Field and Description |
|---|---|
| private ClassLoader |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| protected Class | resolveClass(ObjectStreamClass desc)
Overrides java. Load the local class equivalent of the specified stream class description. |
| protected Class | resolveProxyClass(String[] interfaces)
Overrides java. Returns a proxy class that implements the interfaces named in a proxy class descriptor; subclasses may implement this method to read custom data from the stream along with the descriptors for dynamic proxy classes, allowing them to use an alternate loading mechanism for the interfaces and the proxy class. |
| classLoader | back to summary |
|---|---|
| private ClassLoader classLoader | |
| LoaderInputStream | back to summary |
|---|---|
| pack-priv LoaderInputStream(InputStream in, ClassLoader cl) throws IOException | |
| resolveClass | back to summary |
|---|---|
| protected Class Overrides java. Doc from java. Load the local class equivalent of the specified stream class description. Subclasses may implement this method to allow classes to be fetched from an alternate source. The corresponding method in The default implementation of this method in
Class.forName(desc.getName(), false, loader) loader is the first class loader on the current
thread's stack (starting from the currently executing method) that is
neither the platform
class loader nor its ancestor; otherwise, loader is the
platform class loader. If this call results in a
ClassNotFoundException and the name of the passed
ObjectStreamClass instance is the Java language keyword
for a primitive type or void, then the Class object
representing that primitive type or void will be returned
(e.g., an ObjectStreamClass with the name
"int" will be resolved to Integer.TYPE).
Otherwise, the ClassNotFoundException will be thrown to
the caller of this method.
| |
| resolveProxyClass | back to summary |
|---|---|
| protected Class Overrides java. Doc from java. Returns a proxy class that implements the interfaces named in a proxy class descriptor; subclasses may implement this method to read custom data from the stream along with the descriptors for dynamic proxy classes, allowing them to use an alternate loading mechanism for the interfaces and the proxy class. This method is called exactly once for each unique proxy class descriptor in the stream. The corresponding method in The default implementation of this method in
Class.forName(i, false, loader) loader is the first class loader on the current
thread's stack (starting from the currently executing method) that is
neither the platform
class loader nor its ancestor; otherwise, loader is the
platform class loader.
Unless any of the resolved interfaces are non-public, this same value
of loader is also the class loader passed to
Proxy.getProxyClass; if non-public interfaces are present,
their class loader is passed instead (if more than one non-public
interface class loader is encountered, an
IllegalAccessError is thrown).
If Proxy.getProxyClass throws an
IllegalArgumentException, resolveProxyClass
will throw a ClassNotFoundException containing the
IllegalArgumentException.
| |