/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development * and Distribution License("CDDL") (collectively, the "License"). You * may not use this file except in compliance with the License. You can * obtain a copy of the License at * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html * or packager/legal/LICENSE.txt. See the License for the specific * language governing permissions and limitations under the License. * * When distributing the software, include this License Header Notice in each * file and include the License file at packager/legal/LICENSE.txt. * * GPL Classpath Exception: * Oracle designates this particular file as subject to the "Classpath" * exception as provided by Oracle in the GPL Version 2 section of the License * file that accompanied this code. * * Modifications: * If applicable, add the following below the License Header, with the fields * enclosed by brackets [] replaced by your own identifying information: * "Portions Copyright [year] [name of copyright owner]" * * Contributor(s): * If you wish your version of this file to be governed by only the CDDL or * only the GPL Version 2, indicate your decision by adding "[Contributor] * elects to include this software in this distribution under the [CDDL or GPL * Version 2] license." If you don't indicate a single choice of license, a * recipient has the option to distribute your version of this file under * either the CDDL, the GPL Version 2 or to extend the choice of license to * its licensees as provided above. However, if you add GPL Version 2 code * and therefore, elected the GPL Version 2 license, then the option applies * only if the new code is made subject to such option by the copyright * holder. */ /* * CMP11TemplateFormatter.java * * Created on February 25, 2004 */ package com.sun.jdo.spi.persistence.support.ejb.ejbc; import java.io.*; import java.text.MessageFormat; import java.util.HashMap; import java.util.Properties; import java.util.StringTokenizer; import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; /* * This is the helper class for JDO specific generation of * a concrete bean implementation for CMP 1.1 beans. * Because both CMP20TemplateFormatter and this class extend * CMPTemplateFormatter, and all references are static, properties * in this class must differ in names. This is why they have 1_1 * or 11 in them. * * @author Marina Vatkina */ class CMP11TemplateFormatter extends CMPTemplateFormatter { private final static String templateFile = "com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11Templates.properties"; // NOI18N // Strings for CMP 1.1 code generation: public final static String one_oneVariables_ = "one_oneVariables"; // NOI18N public final static String ejbQuerySetIgnoreCache_ = "ejbQuerySetIgnoreCache"; //NOI18N // Inner helper Class strings. public final static String helper11Interface_ = "com.sun.jdo.spi.persistence.support.sqlstore.ejb.JDOEJB11Helper"; // NOI18N public final static String helper11Impl_ = "com.sun.jdo.spi.persistence.support.ejb.cmp.JDOEJB11HelperImpl"; // NOI18N // CMP1.1 properties public final static String ejbCreate1_1_ = "ejbCreate1_1"; // NOI18N public final static String ejbCreateUnknownPK1_1_ = "ejbCreateUnknownPK1_1"; // NOI18N public final static String ejbPostCreate1_1_ = "ejbPostCreate1_1"; // NOI18N public final static String ejbRemove1_1_ = "ejbRemove1_1"; // NOI18N public final static String storeFields1_1_ = "jdoStoreFields"; // NOI18N public final static String loadFields1_1_ = "jdoLoadFields"; // NOI18N public final static String setEntityContext1_1_ = "setEntityContext1_1"; // NOI18N public final static String internalMethods1_1_ = "internalMethods1_1"; // NOI18N public final static String helperMethods1_1_ = "helperMethods1_1"; // NOI18N public final static String load1_1_ = "load1_1"; // NOI18N public final static String store1_1_ = "store1_1"; // NOI18N public final static String assertPKStore1_1_ = "assertPKStore1_1"; // NOI18N public final static String pkstore1_1_ = "pkstore1_1"; // NOI18N public final static String pkstringstore1_1_ = "pkstringstore1_1"; // NOI18N public final static String pkcopystore1_1_ = "pkcopystore1_1"; // NOI18N public final static String copyload1_1_ = "copyload1_1"; // NOI18N public final static String copystore1_1_ = "copystore1_1"; // NOI18N public final static String arrayload1_1_ = "arrayload1_1"; // NOI18N public final static String arraystore1_1_ = "arraystore1_1"; // NOI18N public final static String loadSerializable1_1_ = "loadSerializable1_1"; // NOI18N public final static String storeSerializable1_1_ = "storeSerializable1_1"; // NOI18N // property key for the CVS keyword substitution public final static String signature1_1_ = "signature1_1"; //NOI18N // finder/selector methods public static MessageFormat querysetignorecacheformatter = null; // statement to set the ignoreCache flag for a JDOQL query // CMP1.1 formatter public static MessageFormat c11formatter = null; // ejbCreate1_1 public static MessageFormat c11unpkformatter = null; // ejbCreateUnknownPK1_1 public static MessageFormat postc11formatter = null; // ejbPostCreate1_1 public static MessageFormat l11formatter = null; // CMP field load for 1.1 public static MessageFormat s11formatter = null; // CMP field store for 1.1 public static MessageFormat l11copyformatter = null; // Mutable CMP field load for 1.1 public static MessageFormat s11copyformatter = null; // Mutable CMP field store for 1.1 public static MessageFormat l11arrayformatter = null; // byte[] CMP field load for 1.1 public static MessageFormat s11arrayformatter = null; // byte[] CMP field store for 1.1 public static MessageFormat assertpks11formatter = null; // assert not null PK CMP field store for 1.1 public static MessageFormat pks11formatter = null; // PK CMP field store for 1.1 public static MessageFormat pkstring11formatter = null; // String CMP field store for 1.1 public static MessageFormat pkcopy11formatter = null; // Mutable CMP field store for 1.1 public static MessageFormat l11Serializableformatter = null; // serializable CMP field load for 1.1 public static MessageFormat s11Serializableformatter = null; // serializable CMP field store for 1.1 // standard 1.1 templates for the corresponding keys, so that a template "xxxTemplate" // corresponds to a "xxx" key. public static String one_oneVariablesTemplate = null; public static String ejbRemove1_1Template = null; public static String signature1_1Template = null; private static boolean is11HelpersLoaded = false; /** * Constructs a new <code>CMP11TemplateFormatter</code> instance. */ CMP11TemplateFormatter() { } /** * Initializes templates for code generation. */ static synchronized void initHelpers() throws IOException { if (is11HelpersLoaded == false) { loadProperties(helpers, templateFile); init11Formatters(); init11Templates(); is11HelpersLoaded = true; } } /** * Initializes MessageFormats for code generation. */ private static void init11Formatters() { // 1.1 finder methods querysetignorecacheformatter = new MessageFormat(helpers.getProperty(ejbQuerySetIgnoreCache_)); // CMP1.1 formatters c11formatter = new MessageFormat(helpers.getProperty(ejbCreate1_1_)); c11unpkformatter = new MessageFormat(helpers.getProperty(ejbCreateUnknownPK1_1_)); postc11formatter = new MessageFormat(helpers.getProperty(ejbPostCreate1_1_)); l11formatter = new MessageFormat(helpers.getProperty(load1_1_)); s11formatter = new MessageFormat(helpers.getProperty(store1_1_)); assertpks11formatter = new MessageFormat(helpers.getProperty(assertPKStore1_1_)); pks11formatter = new MessageFormat(helpers.getProperty(pkstore1_1_)); pkstring11formatter = new MessageFormat(helpers.getProperty(pkstringstore1_1_)); pkcopy11formatter = new MessageFormat(helpers.getProperty(pkcopystore1_1_)); l11copyformatter = new MessageFormat(helpers.getProperty(copyload1_1_)); s11copyformatter = new MessageFormat(helpers.getProperty(copystore1_1_)); l11arrayformatter = new MessageFormat(helpers.getProperty(arrayload1_1_)); s11arrayformatter = new MessageFormat(helpers.getProperty(arraystore1_1_)); l11Serializableformatter = new MessageFormat(helpers.getProperty(loadSerializable1_1_)); s11Serializableformatter = new MessageFormat(helpers.getProperty(storeSerializable1_1_)); } /** * Initializes standard templates for code generation. */ private static void init11Templates() { one_oneVariablesTemplate = helpers.getProperty(one_oneVariables_); ejbRemove1_1Template = helpers.getProperty(ejbRemove1_1_); signature1_1Template = helpers.getProperty(signature1_1_); } }