Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
commons-io-2.6-sources.jar - Apache Commons IO
commons-io-2.6-sources.jar is the source JAR file for Apache Commons IO 2.6, which
is a library of utilities to assist with developing IO functionality.
JAR File Size and Download Location:
JAR name: commons-io-2.6-sources.jar Target JDK version: 1.7 Dependency: None File size: 280,834 bytes Release date: 15-Oct-2017 Download: Apache Commons IO Website
✍: FYIcenter.com
⏎ org/apache/commons/io/input/ClassLoaderObjectInputStream.java
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.io.input;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.io.StreamCorruptedException;
import java.lang.reflect.Proxy;
/**
* A special ObjectInputStream that loads a class based on a specified
* <code>ClassLoader</code> rather than the system default.
* <p>
* This is useful in dynamic container environments.
*
* @since 1.1
*/
public class ClassLoaderObjectInputStream extends ObjectInputStream {
/** The class loader to use. */
private final ClassLoader classLoader;
/**
* Constructs a new ClassLoaderObjectInputStream.
*
* @param classLoader the ClassLoader from which classes should be loaded
* @param inputStream the InputStream to work on
* @throws IOException in case of an I/O error
* @throws StreamCorruptedException if the stream is corrupted
*/
public ClassLoaderObjectInputStream(
final ClassLoader classLoader, final InputStream inputStream)
throws IOException, StreamCorruptedException {
super(inputStream);
this.classLoader = classLoader;
}
/**
* Resolve a class specified by the descriptor using the
* specified ClassLoader or the super ClassLoader.
*
* @param objectStreamClass descriptor of the class
* @return the Class object described by the ObjectStreamClass
* @throws IOException in case of an I/O error
* @throws ClassNotFoundException if the Class cannot be found
*/
@Override
protected Class<?> resolveClass(final ObjectStreamClass objectStreamClass)
throws IOException, ClassNotFoundException {
try {
return Class.forName(objectStreamClass.getName(), false, classLoader);
} catch (final ClassNotFoundException cnfe) {
// delegate to super class loader which can resolve primitives
return super.resolveClass(objectStreamClass);
}
}
/**
* Create a proxy class that implements the specified interfaces using
* the specified ClassLoader or the super ClassLoader.
*
* @param interfaces the interfaces to implement
* @return a proxy class implementing the interfaces
* @throws IOException in case of an I/O error
* @throws ClassNotFoundException if the Class cannot be found
* @see java.io.ObjectInputStream#resolveProxyClass(java.lang.String[])
* @since 2.1
*/
@Override
protected Class<?> resolveProxyClass(final String[] interfaces) throws IOException,
ClassNotFoundException {
final Class<?>[] interfaceClasses = new Class[interfaces.length];
for (int i = 0; i < interfaces.length; i++) {
interfaceClasses[i] = Class.forName(interfaces[i], false, classLoader);
}
try {
return Proxy.getProxyClass(classLoader, interfaceClasses);
} catch (final IllegalArgumentException e) {
return super.resolveProxyClass(interfaces);
}
}
}
⏎ org/apache/commons/io/input/ClassLoaderObjectInputStream.java
Or download all of them as a single archive file:
File name: commons-io-2.6-sources.jar File size: 280834 bytes Release date: 2017-10-05 Download
⇒ Download and Install commons-io-2.5-bin.zip
2020-12-09, ≈78🔥, 1💬
Popular Posts:
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime e...
iText is an ideal library for developers looking to enhance web- and other applications with dynamic...
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module. JDK 11 Base module compiled class fil...
What Is log4j-1.2.15.jar? I got the JAR file from apache-log4j-1.2.15.zip. log4j-1.2.15.jar is the v...
Apache Ant is a Java-based build tool. In theory, it is kind of like make, without make's wrinkles. ...