View Javadoc

1   /*
2    * Copyright 2006 Outsource Cafe, Inc.
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.javagen.revgen.context;
17  
18  /*** 
19   * Common keys used to lookup values and templates in the context.
20   * <p>
21   * To allow new keys to be introduced without recompilation,
22   * enumeration instances themselves are not used in JavaGen code,
23   * but rather their string values. 
24   * Propper usage is <code>Keys.KEY_NAME.toString()</code>.
25   * 
26   * @author Richard Easterling
27   */
28  public enum Keys {
29      
30      //Java bean standard context keys
31  	PROPERTY("property"),
32  	REFERENCE("reference"),
33  	ENTITY("entity"),
34  	GEN("gen"),
35  	PK("pk"),
36  	ENUM("enum"),
37  	DAO("dao"),
38  	DAOIMPL("daoImpl"),
39  	TEST("test"),
40  	HBM("hbm.xml"),
41  	CONFIG("config"),
42  	
43  	//SQL standard context keys
44  	TABLE("table"),
45  	COLUMN("column"),
46  	FK_CONSTRAINT("fkConstraint"),
47      OWNING_SIDE("owningSide"), //owning side of relationship - determines 'mappedBy' location, commit triggers, etc.
48  	
49      //always pushed into context along with MODEL_NAME
50      MODEL(org.javagen.agile.core.context.Keys.MODEL.toString()), //model object should always be available through this key
51  
52      //context-based template naming
53      MODEL_NAME(org.javagen.agile.core.context.Keys.MODEL_NAME.toString()), //model name is always pushed into the context
54   	PK_NAME_TEMPLATE("pkNameTemplate"),
55  	BASE_PACKAGE_NAME(org.javagen.agile.oo.context.Keys.BASE_PACKAGE_NAME.toString()),
56  	RELATIVE_PACKAGE_NAME(org.javagen.agile.oo.context.Keys.RELATIVE_PACKAGE_NAME.toString()),
57  	;
58  	private String name;
59  	private Keys(String name) { this.name = name; }
60  	public String toString() { return name; }
61  }