001    package org.apache.myfaces.tobago.taglib.component;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one or more
005     * contributor license agreements.  See the NOTICE file distributed with
006     * this work for additional information regarding copyright ownership.
007     * The ASF licenses this file to You under the Apache License, Version 2.0
008     * (the "License"); you may not use this file except in compliance with
009     * the License.  You may obtain a copy of the License at
010     *
011     *      http://www.apache.org/licenses/LICENSE-2.0
012     *
013     * Unless required by applicable law or agreed to in writing, software
014     * distributed under the License is distributed on an "AS IS" BASIS,
015     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016     * See the License for the specific language governing permissions and
017     * limitations under the License.
018     */
019    
020    import org.apache.myfaces.tobago.apt.annotation.BodyContent;
021    import org.apache.myfaces.tobago.apt.annotation.Tag;
022    import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
023    import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
024    import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
025    import org.apache.myfaces.tobago.component.UIMessages;
026    import org.apache.myfaces.tobago.taglib.decl.HasFor;
027    import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
028    
029    /*
030     * Date: 02.04.2006
031     * Time: 15:53:45
032     */
033    
034    /**
035     * Renders error/validation messages.
036     */
037    @Tag(name = "messages", bodyContent = BodyContent.EMPTY)
038    @UIComponentTag(
039        uiComponent = "org.apache.myfaces.tobago.component.UIMessages",
040        rendererType = "Messages")
041    
042    public interface MessagesTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasFor {
043    
044      /**
045       * Flag indicating that only messages that are not associated to any
046       * particular UIComponent should be displayed. That are messages without clientId.
047       */
048      @TagAttribute
049      @UIComponentTagAttribute(defaultValue = "false")
050      void setGlobalOnly(String globalOnly);
051    
052      /**
053       * Flag indicating whether the detail should be included
054       */
055      @TagAttribute
056      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
057      void setShowDetail(String showDetail);
058    
059      /**
060       * Flag indicating whether the summary should be included
061       */
062      @TagAttribute
063      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")
064      void setShowSummary(String showSummary);
065    
066       /**
067       * Sets the mininum severity to be shown. E. g. "warn" shows only "warn", "error" and "fatal".
068       */
069      @TagAttribute
070      @UIComponentTagAttribute(type = "javax.faces.application.FacesMessage.Severity", defaultValue = "info")
071      void setMinSeverity(String minSeverity);
072    
073       /**
074       * Sets the maximum severity to be shown. E. g. "warn" shows only "warn" and "info".
075        * When setting this attribute you usually shoud take care, that you have a second message tag to show the
076        * higher severity levels.
077       */
078      @TagAttribute
079      @UIComponentTagAttribute(type = "javax.faces.application.FacesMessage.Severity", defaultValue = "fatal")
080      void setMaxSeverity(String maxSeverity);
081    
082       /**
083       * Sets the maximum number of messages to show.
084       */
085      @TagAttribute
086      @UIComponentTagAttribute(type = "java.lang.Integer", defaultValue = "2147483647")
087      void setMaxNumber(String maxNumber);
088    
089       /**
090       * Sets the order of the messages.
091       */
092      @TagAttribute
093      @UIComponentTagAttribute(
094              allowedValues = {UIMessages.OrderBy.OCCURENCE_STRING, UIMessages.OrderBy.SEVERITY_STRING},
095              defaultValue = UIMessages.OrderBy.OCCURENCE_STRING)
096      void setOrderBy(String orderBy);
097    
098      /**
099      * Should the user confirm the message explicitly.
100      */
101     @TagAttribute
102     @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
103     void setConfirmation(String confirmation);
104    
105    }