5 Replies Latest reply on Apr 23, 2008 12:04 PM by harpritt k

    Factory annotation

    harpritt k Novice

      Hi everyone


      I love SEAM but im coming back to it from a long break and im hitting memory blocks and lapse of monkey-ism.


      im trying to use the Factory anotation to populate my context variable but all i get is



      @Out attribute requires non-null value: candidateHome.genderList


      if i use the alternate approach ie annotating a method that has a return value everything works fine.


      As allways all help is greatly appreciated


      Many thanks Harps


      
      
      @Name("candidateHome")
      
      public class CandidateHome extends EntityHome<Candidate>
      
      {
      
           
      
          @RequestParameter 
      
          Long candidateId;
      
          
      
      
      
      @Out(scope = ScopeType.SESSION)
      
      public ArrayList genderList;
      
      
      @Factory(value="genderList", scope=ScopeType.SESSION)
      
      public void retrieveGendersList() {
      
      ArrayList genderList = new ArrayList<String>();
      
                genderList.add(new SelectItem("MALE"));
      
                genderList.add(new SelectItem("FEMALE"));
      
           }
      
      
      
      
      
      
          @Override
      
          public Object getId() 
      
          { 
      
              if (candidateId==null)
      
              {
      
                  return super.getId();
      
              }
      
              else
      
              {
      
                  return candidateId;
      
              }
      
          }
      
          
      
          @Override @Begin
      
          public void create() {
      
              super.create();
      
          }
      
               
      
      
      }