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 }