- /*
 - * Copyright 1999-2004 The Apache Software Foundation.
 - *
 - * Licensed 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.
 - */
 - /*
 - * $Id: TestDriver.java,v 1.6 2004/02/17 04:23:24 minchau Exp $
 - */
 - /**
 - * Test driver for com.sun.org.apache.xml.internal.utils.synthetic.Class and com.sun.org.apache.xml.internal.utils.synthetic.reflection.
 - * <p>
 - * toSource should probably be factored out into a separate
 - * java generator class, so we could generate other languages as well.
 - */
 - package com.sun.org.apache.xml.internal.utils.synthetic;
 - import com.sun.org.apache.xml.internal.utils.synthetic.reflection.Method;
 - /**
 - * Class TestDriver <needs-comment/>
 - * @xsl.usage internal
 - */
 - public class TestDriver
 - {
 - /** Field sampleField */
 - public static int sampleField = 32;
 - /** Field inTest */
 - private boolean inTest = false;
 - /**
 - * Method _main
 - *
 - *
 - * @param args
 - */
 - public static void _main(String[] args)
 - {
 - // Proxy a class
 - try
 - {
 - System.out.println("Proxying java.awt.Frame...");
 - Class myC = Class.forName("java.awt.Frame");
 - myC.toSource(System.out, 0);
 - System.out.println(
 - "\nProxying com.sun.org.apache.xml.internal.utils.synthetic.TestDriver...");
 - myC =
 - Class.forName("com.ibm.com.sun.org.apache.xml.internal.utils.synthetic.TestDriver");
 - myC.toSource(System.out, 0);
 - }
 - catch (ClassNotFoundException e)
 - {
 - System.out.println("Couldn't proxy: ");
 - e.printStackTrace();
 - }
 - // Start getting serious
 - try
 - {
 - System.out.println("\nBuild a new beast...");
 - Class myC = Class.declareClass(
 - "com.ibm.com.sun.org.apache.xml.internal.utils.synthetic.BuildMe");
 - Class inner = myC.declareInnerClass("island");
 - inner.addExtends(Class.forName("java.lang.String"));
 - Method m = inner.declareMethod("getValue");
 - m.setReturnType(Class.forName("java.lang.String"));
 - m.getBody().append("return toString();");
 - myC.toSource(System.out, 0);
 - }
 - catch (ClassNotFoundException e)
 - {
 - e.printStackTrace();
 - }
 - catch (SynthesisException e)
 - {
 - e.printStackTrace();
 - }
 - catch (IllegalStateException e)
 - {
 - System.out.println("Unwritten function: " + e);
 - e.printStackTrace();
 - }
 - }
 - /**
 - * Method dumpClass
 - *
 - *
 - * @param C
 - */
 - public static void dumpClass(Class C)
 - {
 - System.out.println("toString(): " + C);
 - System.out.println("\tisPrimitive(): " + C.isPrimitive());
 - System.out.println("\tisInterface(): " + C.isInterface());
 - System.out.println("\tisInstance(\"foo\"): " + C.isInstance("foo"));
 - System.out.println("\tisArray(): " + C.isArray());
 - System.out.println("\tgetRealClass(): " + C.getRealClass());
 - }
 - /**
 - * Method quickcheck
 - *
 - */
 - public void quickcheck()
 - {
 - Inner a = new Inner();
 - a.setTest(!a.getTest());
 - }
 - /**
 - * Class Inner <needs-comment/>
 - * @xsl.usage internal
 - */
 - private class Inner
 - {
 - /**
 - * Method getTest
 - *
 - *
 - * @return
 - */
 - public boolean getTest()
 - {
 - return inTest;
 - }
 - /**
 - * Method setTest
 - *
 - *
 - * @param test
 - */
 - public void setTest(boolean test)
 - {
 - inTest = test;
 - }
 - }
 - }