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.taglib.decl.HasBinding;
026    import org.apache.myfaces.tobago.taglib.decl.HasId;
027    
028    /*
029     * Created by IntelliJ IDEA.
030     * User: bommel
031     * Date: 02.04.2006
032     * Time: 16:20:59
033     */
034    
035    /**
036     * Add a child UISelectItem component to the UIComponent
037     * associated with the closed parent UIComponent custom
038     * action.
039     */
040    @Tag(name = "selectItem", bodyContent = BodyContent.EMPTY)
041    @UIComponentTag(uiComponent = "org.apache.myfaces.tobago.component.UISelectItem")
042    public interface SelectItemTagDeclaration extends TobagoTagDeclaration, HasBinding, HasId {
043      /**
044       * Flag indicating whether the option created
045       * by this component is disabled.
046       */
047      @TagAttribute
048      @UIComponentTagAttribute(type = { "java.lang.Boolean" }, defaultValue = "false")
049      void setItemDescription(String itemDescription);
050    
051      /**
052       * Flag indicating whether the option created
053       * by this component is disabled.
054       */
055      @TagAttribute
056      @UIComponentTagAttribute(type = { "java.lang.Boolean" }, defaultValue = "false")
057      void setItemDisabled(String itemDisabled);
058    
059      /**
060       * Label to be displayed to the user for this option.
061       */
062      @TagAttribute
063      @UIComponentTagAttribute()
064      void setItemLabel(String itemLabel);
065    
066      /**
067       * Value to be returned to the server if this option is selected by the user.
068       */
069      @TagAttribute
070      @UIComponentTagAttribute()
071      void setItemValue(String itemValue);
072    
073      /**
074       * Value binding expression pointing at a SelectItem instance containing
075       * the information for this option.
076       */
077      @TagAttribute
078      @UIComponentTagAttribute(type = "javax.faces.model.SelectItem")
079      void setValue(String value);
080    
081      /**
082       * Image to be displayed to the user for this option.
083       */
084      @TagAttribute
085      @UIComponentTagAttribute()
086      void setItemImage(String itemImage);
087    }