View Javadoc

1   /*
2    * Copyright 2002,2004 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.commons.jelly.tags.sql;
17  
18  import org.apache.commons.jelly.JellyTagException;
19  import org.apache.commons.jelly.MapTagSupport;
20  import org.apache.commons.jelly.XMLOutput;
21  
22  /***
23   * Adds a new row to a parent <resultSet> Tag.
24   * This tag is useful for unit testing with Mock Tags to simulate the results returned by databases.
25   *
26   */
27  public class RowTag extends MapTagSupport {
28  
29      // Tag interface
30      //-------------------------------------------------------------------------
31      public void doTag(XMLOutput output) throws JellyTagException {
32          ResultSetTag tag = (ResultSetTag) findAncestorWithClass( ResultSetTag.class );
33          if ( tag == null ) {
34              throw new JellyTagException( "This tag must be nested with in a <resultSet> tag" );
35          }
36          tag.addRow( getAttributes() );
37      }
38  }