/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* 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.
*/
/*
* Licensed Materials - Property of IBM
* RMI-IIOP v1.0
* Copyright IBM Corp. 1998 1999 All Rights Reserved
*
*/
/**
* BatchEnvironment for iiop extends rmic's version to add
* parse state.
*/
/*
* If the following flag is true, then the IDL generator can map
* the methods and constants of non-conforming types. However,
* this is very expensive, so the default should be false.
*/
private boolean parseNonConforming = false;
/**
* This flag indicates that the stubs and ties need to be generated without
* the package prefix (org.omg.stub).
*/
private boolean standardPackage;
/* Common objects used within package */
/**
* Create a BatchEnvironment for rmic with the given class path,
* stream for messages and Main.
*/
// Make sure we have our definitions...
try {
defError =
} catch (ClassNotFound e) {
throw new Error();
}
}
/**
* Return whether or not to parse non-conforming types.
*/
public boolean getParseNonConforming () {
return parseNonConforming;
}
/**
* Set whether or not to parse non-conforming types.
*/
// If we are transitioning from not parsing to
// parsing, we need to throw out any previously
// parsed types...
if (parseEm && !parseNonConforming) {
reset();
}
}
this.standardPackage = standardPackage;
}
boolean getStandardPackage() {
return standardPackage;
}
/**
* Clear out any data from previous executions.
*/
public void reset () {
// First, find all Type instances and call destroy()
// on them...
}
}
}
// Remove and clear all NameContexts in the
// nameContexts cache...
if (nameContexts != null) {
}
}
// Now remove all table entries...
namesCache.clear();
// Clean up remaining...
parseNonConforming = false;
// REVISIT - can't clean up classPathLoader here
}
/**
* Release resources, if any.
*/
public void shutdown() {
if (alreadyChecked != null) {
//System.out.println();
//System.out.println("allTypes.size() = "+ allTypes.size());
//System.out.println(" InstanceCount before reset = "+Type.instanceCount);
reset();
//System.out.println(" InstanceCount AFTER reset = "+Type.instanceCount);
invalidTypes = null;
nameContexts = null;
namesCache = null;
defException = null;
defThrowable = null;
defIDLEntity = null;
defValueBase = null;
super.shutdown();
}
}
}