Skip to content

Commit

Permalink
cleanup, use generics a bit more properly
Browse files Browse the repository at this point in the history
  • Loading branch information
pmuir committed Jan 12, 2010
1 parent bbdaf53 commit d7f70d3
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 26 deletions.
2 changes: 1 addition & 1 deletion impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
Expand Up @@ -287,7 +287,7 @@ protected T createInstance(CreationalContext<T> ctx)
}
else
{
ProxyClassConstructorInjectionPointWrapper<T> constructorInjectionPointWrapper = new ProxyClassConstructorInjectionPointWrapper(this, constructorForAbstractDecorator, getConstructor());
ProxyClassConstructorInjectionPointWrapper<T> constructorInjectionPointWrapper = new ProxyClassConstructorInjectionPointWrapper<T>(this, constructorForAbstractDecorator, getConstructor());
T instance = constructorInjectionPointWrapper.newInstance(beanManager, ctx);
Proxies.attachMethodHandler(instance, new AbstractDecoratorMethodHandler(annotatedDelegateItem, getDelegateInjectionPoint(), constructorInjectionPointWrapper.getInjectedDelegate()));
return instance;
Expand Down
Expand Up @@ -84,7 +84,7 @@ public Object intercept(InterceptionType type, T instance, InvocationContext ctx
{
try
{
return new DirectClassInterceptionHandler(instance, getType()).invoke(ctx.getTarget(), org.jboss.interceptor.model.InterceptionType.valueOf(type.name()), ctx);
return new DirectClassInterceptionHandler<T>(instance, getType()).invoke(ctx.getTarget(), org.jboss.interceptor.model.InterceptionType.valueOf(type.name()), ctx);
} catch (Exception e)
{
throw new WeldException(e);
Expand Down
8 changes: 4 additions & 4 deletions impl/src/main/java/org/jboss/weld/bean/ManagedBean.java
Expand Up @@ -380,9 +380,9 @@ public void checkType()
DecoratorImpl<?> decoratorBean = (DecoratorImpl<?>) decorator;
decoratorClass = decoratorBean.getWeldAnnotated();
}
else if (decorator instanceof CustomDecoratorWrapper)
else if (decorator instanceof CustomDecoratorWrapper<?>)
{
decoratorClass = ((CustomDecoratorWrapper) decorator).getWeldAnnotated();
decoratorClass = ((CustomDecoratorWrapper<?>) decorator).getWeldAnnotated();
}
else
{
Expand Down Expand Up @@ -435,7 +435,7 @@ protected void specialize(BeanDeployerEnvironment environment)
throw new DefinitionException(SPECIALIZING_BEAN_MUST_EXTEND_A_BEAN, this);
}
AbstractClassBean<?> specializedBean = environment.getClassBean(getWeldAnnotated().getWeldSuperclass());
if (!(specializedBean instanceof ManagedBean))
if (!(specializedBean instanceof ManagedBean<?>))
{
throw new DefinitionException(SPECIALIZING_BEAN_MUST_EXTEND_A_BEAN, this);
} else
Expand Down Expand Up @@ -470,7 +470,7 @@ protected T applyInterceptors(T instance, final CreationalContext<T> creationalC
if (hasCdiBoundInterceptors())
{
interceptionRegistries.add(beanManager.getCdiInterceptorsRegistry());
interceptionHandlerFactories.add(new CdiInterceptorHandlerFactory(creationalContext, beanManager));
interceptionHandlerFactories.add(new CdiInterceptorHandlerFactory<T>(creationalContext, beanManager));
}
if (interceptionRegistries.size() > 0)
instance = new InterceptorProxyCreatorImpl(interceptionRegistries, interceptionHandlerFactories).createProxyFromInstance(instance, getType());
Expand Down
4 changes: 3 additions & 1 deletion impl/src/main/java/org/jboss/weld/bean/NewManagedBean.java
Expand Up @@ -60,7 +60,9 @@ protected NewManagedBean(final WeldClass<T> type, String idSuffix, BeanManagerIm
this.bindings = new HashSet<Annotation>();
this.bindings.add(new NewLiteral()
{


private static final long serialVersionUID = -6678013994309291500L;

@Override
public Class<?> value()
{
Expand Down
2 changes: 2 additions & 0 deletions impl/src/main/java/org/jboss/weld/bean/NewSessionBean.java
Expand Up @@ -64,6 +64,8 @@ protected NewSessionBean(final WeldClass<T> type, InternalEjbDescriptor<T> ejbDe
this.bindings.add(new NewLiteral()
{

private static final long serialVersionUID = 3953682907943246693L;

@Override
public Class<?> value()
{
Expand Down
Expand Up @@ -10,17 +10,20 @@
/**
* @author Marius Bogoevici
*/
public class CdiInterceptorHandler extends AbstractClassInterceptionHandler implements Serializable
public class CdiInterceptorHandler<T> extends AbstractClassInterceptionHandler implements Serializable
{

private final SerializableContextualInstance<Interceptor<Object>, Object> serializableContextualInstance;
private static final long serialVersionUID = -1614068925228599196L;

private final SerializableContextualInstance<Interceptor<T>, T> serializableContextualInstance;

public CdiInterceptorHandler(SerializableContextualInstance<Interceptor<Object>, Object> serializableContextualInstance, Class<?> clazz)
public CdiInterceptorHandler(SerializableContextualInstance<Interceptor<T>, T> serializableContextualInstance, Class<?> clazz)
{
super(clazz);
this.serializableContextualInstance = serializableContextualInstance;
}

@Override
public Object getInterceptorInstance()
{
return serializableContextualInstance.getInstance();
Expand Down
Expand Up @@ -22,19 +22,19 @@

import org.jboss.interceptor.proxy.InterceptionHandler;
import org.jboss.interceptor.proxy.InterceptionHandlerFactory;
import org.jboss.weld.context.SerializableContextualInstanceImpl;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.serialization.spi.helpers.SerializableContextual;
import org.jboss.weld.context.SerializableContextualInstanceImpl;

/**
* @author Marius Bogoevici
*/
public class CdiInterceptorHandlerFactory implements InterceptionHandlerFactory<SerializableContextual<Interceptor<Object>, Object>>
public class CdiInterceptorHandlerFactory<T> implements InterceptionHandlerFactory<SerializableContextual<Interceptor<T>, T>>
{
private final CreationalContext creationalContext;
private final CreationalContext<T> creationalContext;
private BeanManagerImpl manager;

public CdiInterceptorHandlerFactory(CreationalContext creationalContext, BeanManagerImpl manager)
public CdiInterceptorHandlerFactory(CreationalContext<T> creationalContext, BeanManagerImpl manager)
{
this.creationalContext = creationalContext;
this.manager = manager;
Expand All @@ -45,12 +45,10 @@ public BeanManagerImpl getManager()
return manager;
}

@SuppressWarnings("unchecked")
public InterceptionHandler createFor(final SerializableContextual<Interceptor<Object>, Object> serializableContextual)
public InterceptionHandler createFor(final SerializableContextual<Interceptor<T>, T> serializableContextual)
{
Object instance = getManager().getReference(serializableContextual.get(), creationalContext, false);
return new CdiInterceptorHandler(new SerializableContextualInstanceImpl<Interceptor<Object>, Object>(serializableContextual, instance, creationalContext),
serializableContextual.get().getBeanClass());
T instance = (T) getManager().getReference(serializableContextual.get(), creationalContext, false);
return new CdiInterceptorHandler<T>(new SerializableContextualInstanceImpl<Interceptor<T>, T>(serializableContextual, instance, creationalContext), serializableContextual.get().getBeanClass());
}

}
Expand Up @@ -31,27 +31,27 @@
/**
* @author Marius Bogoevici
*/
public class ClassInterceptionHandlerFactory implements InterceptionHandlerFactory<Class>
public class ClassInterceptionHandlerFactory<T> implements InterceptionHandlerFactory<Class<T>>
{
private final CreationalContext<?> creationalContext;
private final CreationalContext<T> creationalContext;
private BeanManagerImpl manager;

public ClassInterceptionHandlerFactory(CreationalContext<?> creationalContext, BeanManagerImpl manager)
public ClassInterceptionHandlerFactory(CreationalContext<T> creationalContext, BeanManagerImpl manager)
{
this.creationalContext = creationalContext;
this.manager = manager;
}

public InterceptionHandler createFor(Class clazz)
public InterceptionHandler createFor(Class<T> clazz)
{
try
{
// this is not a managed instance - assume no-argument constructor exists
Constructor constructor = SecureReflections.getDeclaredConstructor(clazz);
Object interceptorInstance = constructor.newInstance();
Constructor<T> constructor = (Constructor<T>) SecureReflections.getDeclaredConstructor(clazz);
T interceptorInstance = constructor.newInstance();
// inject
manager.createInjectionTarget(manager.createAnnotatedType(clazz)).inject(interceptorInstance, creationalContext);
return new DirectClassInterceptionHandler(interceptorInstance, clazz);
return new DirectClassInterceptionHandler<T>(interceptorInstance, clazz);
}
catch (Exception e)
{
Expand Down

0 comments on commit d7f70d3

Please sign in to comment.