001    package javax.portlet.faces.annotation;
002    
003    import java.lang.annotation.Documented;
004    import java.lang.annotation.ElementType;
005    import java.lang.annotation.Inherited;
006    import java.lang.annotation.Retention;
007    import java.lang.annotation.RetentionPolicy;
008    import java.lang.annotation.Target;
009    
010    /** The PortletNamingContainer annotation is used on a class as a signal
011     * that instances of this class implement the Portlet NamingContainer behavior. 
012     * I.e.  its a <code>UIViewRoot</code> which overrides and implements
013     * <code>getContainerClientId()</code> ensuring that the returned Id contains in
014     * part a portlet Id that is unique with respect to the consuming application
015     * (portal).  This id is acquired by calling <code>ExternalContext.encodeNamespace()</code>.
016     */
017    
018    @Documented
019    @Inherited
020    @Retention(RetentionPolicy.RUNTIME)
021    @Target({ElementType.TYPE})
022    public @interface PortletNamingContainer {
023    }