Java源码示例:org.springframework.cglib.core.ClassGenerator

示例1
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例2
@Override
protected ClassGenerator transform(ClassGenerator cg) throws Exception {
	ClassEmitterTransformer transformer = new ClassEmitterTransformer() {
		@Override
		public void end_class() {
			declare_field(Constants.ACC_PUBLIC, BEAN_FACTORY_FIELD, Type.getType(BeanFactory.class), null);
			super.end_class();
		}
	};
	return new TransformingClassGenerator(cg, transformer);
}
 
示例3
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例4
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例5
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例6
@Override
protected ClassGenerator transform(ClassGenerator cg) throws Exception {
	ClassEmitterTransformer transformer = new ClassEmitterTransformer() {
		@Override
		public void end_class() {
			declare_field(Constants.ACC_PUBLIC, BEAN_FACTORY_FIELD, Type.getType(BeanFactory.class), null);
			super.end_class();
		}
	};
	return new TransformingClassGenerator(cg, transformer);
}
 
示例7
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例8
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例9
@Override
protected ClassGenerator transform(ClassGenerator cg) throws Exception {
	ClassEmitterTransformer transformer = new ClassEmitterTransformer() {
		@Override
		public void end_class() {
			declare_field(Constants.ACC_PUBLIC, BEAN_FACTORY_FIELD, Type.getType(BeanFactory.class), null);
			super.end_class();
		}
	};
	return new TransformingClassGenerator(cg, transformer);
}
 
示例10
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例11
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例12
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例13
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例14
@Override
protected ClassGenerator transform(ClassGenerator cg) throws Exception {
	ClassEmitterTransformer transformer = new ClassEmitterTransformer() {
		@Override
		public void end_class() {
			declare_field(Constants.ACC_PUBLIC, BEAN_FACTORY_FIELD, Type.getType(BeanFactory.class), null);
			super.end_class();
		}
	};
	return new TransformingClassGenerator(cg, transformer);
}
 
示例15
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}
 
示例16
@Override
public byte[] generate(ClassGenerator cg) throws Exception {
	if (this.classLoader == null) {
		return super.generate(cg);
	}

	Thread currentThread = Thread.currentThread();
	ClassLoader threadContextClassLoader;
	try {
		threadContextClassLoader = currentThread.getContextClassLoader();
	}
	catch (Throwable ex) {
		// Cannot access thread context ClassLoader - falling back...
		return super.generate(cg);
	}

	boolean overrideClassLoader = !this.classLoader.equals(threadContextClassLoader);
	if (overrideClassLoader) {
		currentThread.setContextClassLoader(this.classLoader);
	}
	try {
		return super.generate(cg);
	}
	finally {
		if (overrideClassLoader) {
			// Reset original thread context ClassLoader.
			currentThread.setContextClassLoader(threadContextClassLoader);
		}
	}
}