View Javadoc

1   /*
2    * $Id: MessageTools.java,v 1.18 2011/06/16 09:29:41 jbmeslin Exp $
3    * 
4    */
5   package org.rcfaces.core.internal.tools;
6   
7   import java.util.Collections;
8   import java.util.Iterator;
9   
10  import javax.faces.component.UIComponent;
11  import javax.faces.context.FacesContext;
12  
13  /**
14   * 
15   * @author Olivier Oeuillot (latest modification by $Author: jbmeslin $)
16   * @version $Revision: 1.18 $ $Date: 2011/06/16 09:29:41 $
17   */
18  public final class MessageTools {
19      private static final String REVISION = "$Revision: 1.18 $";
20  
21      private static final Iterator EMPTY_ITERATOR = Collections.EMPTY_LIST
22              .iterator();
23  
24      public static final Iterator listMessages(FacesContext context,
25              String forComponent, UIComponent component) {
26  
27          if (forComponent == null) {
28              return context.getMessages();
29          }
30  
31          if (forComponent.length() < 1) {
32              return context.getMessages(null);
33          }
34  
35          Iterator iterator = null;
36  
37          UIComponent result = ComponentTools.getForComponent(context,
38                  forComponent, component);
39          if (result != null) {
40              iterator = context.getMessages(result.getClientId(context));
41          }
42  
43          if (iterator != null) {
44              return iterator;
45          }
46  
47          return EMPTY_ITERATOR;
48      }
49  }