--- old/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/ValueFactory.java 2018-01-30 20:26:03.000000000 -0500 +++ /dev/null 2018-01-30 20:26:03.000000000 -0500 @@ -1,173 +0,0 @@ -/* - * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -/* - * COMPONENT_NAME: idl.toJava - * - * ORIGINS: 27 - * - * Licensed Materials - Property of IBM - * 5639-D57 (C) COPYRIGHT International Business Machines Corp. 1997, 1999 - * RMI-IIOP v1.0 - * - */ - -package com.sun.tools.corba.se.idl.toJavaPortable; - -// NOTES: -// -D62023 klr new class - -import java.io.PrintWriter; -import java.util.Vector; - -import com.sun.tools.corba.se.idl.GenFileStream; -import com.sun.tools.corba.se.idl.SymtabEntry; -import com.sun.tools.corba.se.idl.MethodEntry; -import com.sun.tools.corba.se.idl.ValueEntry; - -/** - * - **/ -public class ValueFactory implements AuxGen -{ - /** - * Public zero-argument constructor. - **/ - public ValueFactory () - { - } // ctor - - /** - * Generate the default value factory class. Provides general algorithm for - * auxiliary binding generation: - * 1.) Initialize symbol table and symbol table entry members, - * common to all generators. - * 2.) Initialize members unique to this generator. - * 3.) Open print stream - * 4.) Write class heading (package, prologue, source comment, class - * statement, open curly - * 5.) Write class body (member data and methods) - * 6.) Write class closing (close curly) - * 7.) Close the print stream - **/ - public void generate (java.util.Hashtable symbolTable, com.sun.tools.corba.se.idl.SymtabEntry entry) - { - this.symbolTable = symbolTable; - this.entry = entry; - init (); - if (hasFactoryMethods ()) { - openStream (); - if (stream == null) - return; - writeHeading (); - writeBody (); - writeClosing (); - closeStream (); - } - } // generate - - /** - * Initialize variables unique to this generator. - **/ - protected void init () - { - factoryClass = entry.name () + "ValueFactory"; - factoryType = Util.javaName (entry); - } // init - - /** - * @return true if entry has any factory methods declared - **/ - protected boolean hasFactoryMethods () - { - Vector init = ((ValueEntry)entry).initializers (); - if (init != null && init.size () > 0) - return true; - else - return false; - } // hasFactoryMethods - - /** - * Open the print stream for subsequent output. - **/ - protected void openStream () - { - stream = Util.stream (entry, "ValueFactory.java"); - } // openStream - - /** - * Generate the heading, including the package, imports, - * source comment, class statement, and left curly. - **/ - protected void writeHeading () - { - Util.writePackage (stream, entry, Util.TypeFile); // REVISIT - same as interface? - Util.writeProlog (stream, stream.name ()); - if (entry.comment () != null) - entry.comment ().generate ("", stream); - stream.println ("public interface " + factoryClass + " extends org.omg.CORBA.portable.ValueFactory"); - stream.println ('{'); - } // writeHeading - - /** - * Generate members of this class. - **/ - protected void writeBody () - { - Vector init = ((ValueEntry)entry).initializers (); - if (init != null) - { - for (int i = 0; i < init.size (); i++) - { - MethodEntry element = (MethodEntry) init.elementAt (i); - element.valueMethod (true); //tag value method if not tagged previously - ((MethodGen) element.generator ()). interfaceMethod (symbolTable, element, stream); - } - } - } // writeBody - - /** - * Generate the closing statements. - **/ - protected void writeClosing () - { - stream.println ('}'); - } // writeClosing - - /** - * Write the stream to file by closing the print stream. - **/ - protected void closeStream () - { - stream.close (); - } // closeStream - - protected java.util.Hashtable symbolTable; - protected com.sun.tools.corba.se.idl.SymtabEntry entry; - protected GenFileStream stream; - - // Unique to this generator - protected String factoryClass; - protected String factoryType; -} // class Holder