more of the bounds-related compiler errors + the proxytoys way of casting to a local variable and reducing the scope of the unchecked suppresswarnings annotation to the variable declaration
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/branches/version-2.0-work@966838 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/main/java/org/apache/commons/proxy2/DefaultProxyFactory.java b/core/src/main/java/org/apache/commons/proxy2/DefaultProxyFactory.java
index 401bcb1..0a6db83 100644
--- a/core/src/main/java/org/apache/commons/proxy2/DefaultProxyFactory.java
+++ b/core/src/main/java/org/apache/commons/proxy2/DefaultProxyFactory.java
@@ -49,65 +49,71 @@
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
public <T> T createDelegatorProxy(ObjectProvider<?> delegateProvider,
Class<?>... proxyClasses) {
- return (T) getCapableProxyFactory(proxyClasses).createDelegatorProxy(
+ @SuppressWarnings("unchecked")
+ final T result = (T) getCapableProxyFactory(proxyClasses).createDelegatorProxy(
delegateProvider, proxyClasses);
+ return result;
}
/**
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
public <T> T createDelegatorProxy(ClassLoader classLoader,
ObjectProvider<?> delegateProvider, Class<?>... proxyClasses) {
- return (T) getCapableProxyFactory(proxyClasses).createDelegatorProxy(
+ @SuppressWarnings("unchecked")
+ final T result = (T) getCapableProxyFactory(proxyClasses).createDelegatorProxy(
classLoader, delegateProvider, proxyClasses);
+ return result;
}
/**
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
public <T> T createInterceptorProxy(Object target, Interceptor interceptor,
Class<?>... proxyClasses) {
- return (T) getCapableProxyFactory(proxyClasses).createInterceptorProxy(
+ @SuppressWarnings("unchecked")
+ final T result = (T) getCapableProxyFactory(proxyClasses).createInterceptorProxy(
target, interceptor, proxyClasses);
+ return result;
}
/**
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
public <T> T createInterceptorProxy(ClassLoader classLoader, Object target,
Interceptor interceptor, Class<?>... proxyClasses) {
- return (T) getCapableProxyFactory(proxyClasses).createInterceptorProxy(
+ @SuppressWarnings("unchecked")
+ final T result = (T) getCapableProxyFactory(proxyClasses).createInterceptorProxy(
classLoader, target, interceptor, proxyClasses);
+ return result;
}
/**
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
public <T> T createInvokerProxy(Invoker invoker, Class<?>... proxyClasses) {
- return (T) getCapableProxyFactory(proxyClasses).createInvokerProxy(
+ @SuppressWarnings("unchecked")
+ final T result = (T) getCapableProxyFactory(proxyClasses).createInvokerProxy(
invoker, proxyClasses);
+ return result;
}
/**
* {@inheritDoc}
*/
@Override
- @SuppressWarnings("unchecked")
public <T> T createInvokerProxy(ClassLoader classLoader, Invoker invoker,
Class<?>... proxyClasses) {
- return (T) getCapableProxyFactory(proxyClasses).createInvokerProxy(
+ @SuppressWarnings("unchecked")
+ final T result = (T) getCapableProxyFactory(proxyClasses).createInvokerProxy(
classLoader, invoker, proxyClasses);
+ return result;
}
private ProxyFactory getCapableProxyFactory(Class<?>... proxyClasses) {
diff --git a/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
index ad450dd..944dda4 100644
--- a/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
@@ -57,7 +57,9 @@
*/
public <T> T createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>... proxyClasses )
{
- return createDelegatorProxy(Thread.currentThread().getContextClassLoader(), delegateProvider, proxyClasses);
+ @SuppressWarnings("unchecked")
+ final T result = (T) createDelegatorProxy(Thread.currentThread().getContextClassLoader(), delegateProvider, proxyClasses);
+ return result;
}
/**
@@ -73,8 +75,10 @@
public <T> T createInterceptorProxy( Object target, Interceptor interceptor,
Class<?>... proxyClasses )
{
- return createInterceptorProxy(Thread.currentThread().getContextClassLoader(), target, interceptor,
+ @SuppressWarnings("unchecked")
+ final T result = (T) createInterceptorProxy(Thread.currentThread().getContextClassLoader(), target, interceptor,
proxyClasses);
+ return result;
}
/**
@@ -87,8 +91,10 @@
*/
public <T> T createInvokerProxy( Invoker invoker, Class<?>... proxyClasses )
{
- return createInvokerProxy(Thread.currentThread().getContextClassLoader(), invoker,
+ @SuppressWarnings("unchecked")
+ final T result = (T) createInvokerProxy(Thread.currentThread().getContextClassLoader(), invoker,
proxyClasses);
+ return result;
}
}
diff --git a/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java b/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java
index 05f21a5..b4a1751 100644
--- a/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java
@@ -78,7 +78,9 @@
{
if( proxyFactory.canProxy(type) )
{
- return proxyFactory.createInvokerProxy(new InvocationRecorderInvoker(genericType), type);
+ @SuppressWarnings("unchecked")
+ final T result = (T) proxyFactory.createInvokerProxy(new InvocationRecorderInvoker(genericType), type);
+ return result;
}
return ProxyUtils.nullValue(type);
}
@@ -98,11 +100,10 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
public Object invoke( Object o, Method method, Object[] args ) throws Throwable
{
recordedInvocations.add(new RecordedInvocation(method, args));
- final Class returnType = getReturnType(targetType, method);
+ final Class<?> returnType = getReturnType(targetType, method);
return proxy(method.getGenericReturnType(), returnType);
}
}