Seam
1.Model 2.Entity 3.Component 2 1 3 1
Seam Mode Entity
Model @Name Class
Component Model, Class
package org.jboss.seam;
import org.jboss.seam.contexts.Contexts;
public class Model
{
private Class<?> beanClass;
public Model(Class<?> beanClass)
{
this.beanClass = beanClass;
}
public final Class<?> getBeanClass()
{
return beanClass;
}
public static Model forClass(Class clazz)
{
if ( !Contexts.isApplicationContextActive() ) // ApplicationContext
{
throw new IllegalStateException("No application context active");
}
String name = getModelName(clazz);
Model model = (Model) Contexts.getApplicationContext().get(name);
if ( model==null )
{
model = clazz.isAnnotationPresent(javax.persistence.Entity.class) ? // Entity , Model
new Entity(clazz) : new Model(clazz);
Contexts.getApplicationContext().set(name, model);
}
return model;
}
static String getModelName(Class clazz) // + .model
{
return clazz.getName() + ".model";
}
}