View Javadoc

1   package org.apache.maven.jelly.tags.maven;
2   
3   /* ====================================================================
4    *   Licensed to the Apache Software Foundation (ASF) under one or more
5    *   contributor license agreements.  See the NOTICE file distributed with
6    *   this work for additional information regarding copyright ownership.
7    *   The ASF licenses this file to You under the Apache License, Version 2.0
8    *   (the "License"); you may not use this file except in compliance with
9    *   the License.  You may obtain a copy of the License at
10   *
11   *       http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *   Unless required by applicable law or agreed to in writing, software
14   *   distributed under the License is distributed on an "AS IS" BASIS,
15   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *   See the License for the specific language governing permissions and
17   *   limitations under the License.
18   * ====================================================================
19   */
20  
21  import java.io.File;
22  
23  import org.apache.commons.jelly.JellyTagException;
24  import org.apache.commons.jelly.XMLOutput;
25  
26  /**
27   * Concat a set of files together into a single file.
28   *
29   * @author <a href="mailto:jason@zenplex.com">Jason van Zyl</a>
30   * @version $Id: InputTag.java 517014 2007-03-11 21:15:50Z ltheussl $
31   */
32  public class InputTag
33      extends MavenTag
34  {
35      /** Output file. */
36      private File file;
37  
38      /** Set output file. */
39      public void setFile( File file )
40      {
41          this.file = file;
42      }
43  
44      /**
45       * Perform functionality provided by the tag.
46       *
47       * @throws JellyTagException If there is an error while concatenating the file.
48       */
49      public void doTag( XMLOutput output )
50          throws JellyTagException
51      {
52          ConcatTag tag = (ConcatTag) findAncestorWithClass( ConcatTag.class );
53  
54          if ( tag == null )
55          {
56              throw new JellyTagException( "no current concatenation" );
57          }
58  
59          tag.addFile( file );
60      }
61  }