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.Tag;
021    import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
022    import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
023    import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
024    import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
025    import org.apache.myfaces.tobago.taglib.decl.HasLabel;
026    import org.apache.myfaces.tobago.taglib.decl.HasTip;
027    import org.apache.myfaces.tobago.taglib.decl.HasWidth;
028    
029    /*
030     * Date: 20.02.2006
031     * Time: 22:10:07
032     */
033    
034    /**
035     * Renders a UIComponent that represents a single column of data within a
036     * parent UIData component.
037     */
038    @Tag(name = "column")
039    @UIComponentTag(
040        uiComponent = "org.apache.myfaces.tobago.component.UIColumn")
041    //rendererType = "Column")
042    public interface ColumnTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasLabel, HasTip,
043        HasWidth {
044      /**
045       * Alignment of this column.
046       */
047      @TagAttribute
048      @UIComponentTagAttribute()
049      void setAlign(String align);
050    
051      /**
052       * Flag indicating whether or not this column is sortable.
053       * To make a column sortable the data of the sheet must be one of
054       * <code>java.util.List</code> or <code>Object[]</code>.
055       */
056      @TagAttribute
057      @UIComponentTagAttribute(type = {"java.lang.Boolean"},
058          defaultValue = "false")
059      void setSortable(String sortable);
060    
061      /**
062       * Indicate markup of this component.
063       * Possible value is 'none'. But this can be overridden in the theme.
064       */
065      @TagAttribute
066      @UIComponentTagAttribute(defaultValue = "none")
067      void setMarkup(String markup);
068    }