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