<?xml version="1.0" encoding="UTF-8" ?>
#*
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
*#

<!-- ======================================================================== -->
<!--                                                                          -->
<!--  Default Intake file for Turbine Skeleton                                -->
<!--                                                                          -->
<!-- $Id: intake.xml 615350 2008-01-25 21:28:10Z tv $                         -->
<!--                                                                          -->
<!-- ======================================================================== -->

<input-data xmlns="http://turbine.apache.org/schema/intake/4.0"
    basePackage="${package}.">
    <group name="example" key="example" mapToObject="om.Table1">
        <field name="TestCol2" key="testCol2" type="String"/>
    </group>
    <group name="Login" key="login">
    <field name="Username" key="u" type="String">
      <!-- l10n keys -->
      <rule name="required" value="true">username_required_msg</rule>
      <rule name="minLength" value="4">username_min_length_msg</rule>
      <!--rule name="mask" value=".+@.+\..+">username_mask_msg</rule-->
    </field>
    <field name="Password" key="p" type="String">
      <rule name="required" value="true">password_msg</rule>
    </field>
</group>
</input-data>
