package org.jboss.seam.el;
import org.jboss.el.util.ReflectionUtil;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Startup;
import static org.jboss.seam.annotations.Install.BUILT_IN;
@Name("org.jboss.seam.el.referenceCache")
@Scope(ScopeType.APPLICATION)
@Install(precedence = BUILT_IN, classDependencies="org.jboss.el.util.ReflectionUtil")
@Startup
public class JBossELReferenceCache {
private int version=1;
@Create
public void start() {
try{
ReflectionUtil.startup();
}catch(NoSuchMethodError e)
{
version=2;
}
}
@Destroy
public void stop() {
if(version==1)
ReflectionUtil.shutdown();
}
}