[jboss-cvs] jboss-seam/src/main/org/jboss/seam/jsf ...
Peter Muir
peter at bleepbleep.org.uk
Tue Apr 3 13:38:29 EDT 2007
User: pmuir
Date: 07/04/03 13:38:29
Added: src/main/org/jboss/seam/jsf JsfProvider.java
Log:
Allow for enhanced impls of JSF's models
Revision Changes Path
1.1 date: 2007/04/03 17:38:29; author: pmuir; state: Exp;jboss-seam/src/main/org/jboss/seam/jsf/JsfProvider.java
Index: JsfProvider.java
===================================================================
package org.jboss.seam.jsf;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import static org.jboss.seam.ScopeType.STATELESS;
import static org.jboss.seam.InterceptionType.NEVER;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.faces.model.DataModel;
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.framework.Query;
@Name("org.jboss.seam.jsf.jsfProvider")
@Install(precedence=BUILT_IN)
@Scope(STATELESS)
@Intercept(NEVER)
public class JsfProvider
{
public DataModel getDataModel(Object value)
{
if (value instanceof List)
{
return new ListDataModel( (List) value );
}
else if (value instanceof Object[])
{
return new ArrayDataModel( (Object[]) value );
}
else if (value instanceof Map)
{
return new MapDataModel( (Map) value );
}
else if (value instanceof Set)
{
return new SetDataModel( (Set) value );
}
else
{
throw new IllegalArgumentException("unknown collection type: " + value.getClass());
}
}
public DataModel getDataModel(Query query)
{
return getDataModel(query.getResultList());
}
public static JsfProvider instance()
{
return (JsfProvider) Component.getInstance(JsfProvider.class, ScopeType.STATELESS);
}
}
More information about the jboss-cvs-commits
mailing list