[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