001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020 package org.apache.myfaces.tobago.taglib.component; 021 022 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription; 023 import org.apache.myfaces.tobago.apt.annotation.Tag; 024 import org.apache.myfaces.tobago.apt.annotation.TagAttribute; 025 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag; 026 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute; 027 import org.apache.myfaces.tobago.apt.annotation.Facet; 028 import org.apache.myfaces.tobago.taglib.decl.HasBinding; 029 import org.apache.myfaces.tobago.taglib.decl.HasId; 030 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey; 031 import org.apache.myfaces.tobago.taglib.decl.HasTip; 032 import org.apache.myfaces.tobago.taglib.decl.IsDisabled; 033 import org.apache.myfaces.tobago.taglib.decl.IsInline; 034 import org.apache.myfaces.tobago.taglib.decl.IsReadonly; 035 import org.apache.myfaces.tobago.taglib.decl.IsRendered; 036 import org.apache.myfaces.tobago.taglib.decl.HasConverter; 037 038 /* 039 * Created: Aug 5, 2005 6:05:28 PM 040 * User: bommel 041 * $Id: SelectOneChoiceTagDeclaration.java 1368577 2012-08-02 16:20:31Z lofwyr $ 042 */ 043 044 /** 045 * Render a single selection dropdown list. 046 */ 047 @Tag(name = "selectOneChoice") 048 @BodyContentDescription(anyTagOf = "(<f:selectItems>|<f:selectItem>|<tc:selectItem>)+ <f:facet>* ") 049 @UIComponentTag( 050 uiComponent = "org.apache.myfaces.tobago.component.UISelectOne", 051 rendererType = "SelectOneChoice", 052 facets = { 053 @Facet(name = "click", 054 description = 055 "This facet can contain a UICommand that is invoked in case of a click event from the component"), 056 @Facet(name = "change", 057 description = 058 "This facet can contain a UICommand that is invoked in case of a change event from the component") 059 }) 060 public interface SelectOneChoiceTagDeclaration 061 extends SelectOneTagDeclaration, HasId, IsDisabled, 062 IsReadonly, IsInline, HasLabelAndAccessKey, 063 IsRendered, HasConverter, HasBinding, HasTip { 064 065 /** 066 * Flag indicating that selecting an Item representing a value is required. 067 * If an SelectItem was choosen which underling value is an empty string an 068 * ValidationError occurs and a Error Message is rendered. 069 */ 070 @TagAttribute(type = String.class) 071 @UIComponentTagAttribute(type = "java.lang.Boolean") 072 void setRequired(String required); 073 }