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.HasLabelAndAccessKey;
026    import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
027    import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
028    import org.apache.myfaces.tobago.taglib.decl.HasTip;
029    import org.apache.myfaces.tobago.taglib.decl.HasValidator;
030    import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
031    import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
032    import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
033    import org.apache.myfaces.tobago.taglib.decl.IsRequired;
034    
035    /*
036     * Created: Aug 5, 2005 5:15:50 PM
037     * User: bommel
038     * $Id: FileTagDeclaration.java 601107 2007-12-04 22:12:14Z bommel $
039     */
040    /**
041     * Renders a file input field.
042     * You need to define an org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter in your web.xml or
043     * add the tobago-fileupload.jar to your project.
044     * The tobago-fileupload.jar contains a FacesContextFactory that wraps the
045     * multipart-formdata request inside the facesContext.
046     */
047    @Tag(name = "file")
048    @UIComponentTag(
049        uiComponent = "org.apache.myfaces.tobago.component.UIFileInput",
050        rendererType = "File")
051    public interface FileTagDeclaration
052        extends BeanTagDeclaration, HasValidator, HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, IsDisabled,
053        HasLabelAndAccessKey, HasTip, IsReadonly, IsRequired, HasTabIndex {
054    
055      /**
056       * Value binding expression pointing to a
057       * <code>org.apache.commons.fileupload.FileItem</code> property to store the
058       * uploaded file.
059       */
060      @TagAttribute()
061      @UIComponentTagAttribute(type = {"org.apache.commons.fileupload.FileItem"})
062      void setValue(String value);
063    }