#* * 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. *# #if($nestTables == false) package $tablePackageName; import java.util.ArrayList; import java.util.List; import org.apache.empire.data.DataType; import org.apache.empire.db.DBTableColumn; import $basePackageName.${dbClassName}; #end public #if($nestTables == true)static#end class $parser.getTableClassName($table.name) extends ${baseTableClassName} { private List keyColumns = new ArrayList(); // Regular attributes #foreach ($col in $table.columns) public final DBTableColumn ${parser.getAttributeName($col)}; #end public $parser.getTableClassName($table.name)(${dbClassName} db) { super("$table.name", db); // all columns #foreach ($col in $table.columns) ${parser.getAttributeName($col)} = addColumn("${col.name}", DataType.${parser.getDataType($col)}, ${col.size}, ${col.isRequired()}, ${parser.getDefaultValue($col)}); #end // configure primary columns #foreach ($col in $table.keyColumns) keyColumns.add(${col.name}); #end setPrimaryKey(keyColumns.toArray(new DBTableColumn[keyColumns.size()])); // Optimistic locking column #if($parser.hasLockingColumn($table) == true) setTimestampColumn(${parser.getAttributeName($table.getTimestampColumn())}); #else /*no locking column specified*/ #end // Set cascade delete setCascadeDelete(true); } }