aboutsummaryrefslogtreecommitdiff
path: root/src/share/jaxws_classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/jaxws_classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java')
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java163
1 files changed, 0 insertions, 163 deletions
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java b/src/share/jaxws_classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java
deleted file mode 100644
index c6c888c0..00000000
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 1997, 2011, 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.
- */
-
-package com.sun.tools.internal.xjc.writer;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-import com.sun.codemodel.internal.JClass;
-import com.sun.codemodel.internal.JClassContainer;
-import com.sun.codemodel.internal.JDefinedClass;
-import com.sun.codemodel.internal.JPackage;
-import com.sun.codemodel.internal.JType;
-import com.sun.tools.internal.xjc.outline.ClassOutline;
-import com.sun.tools.internal.xjc.outline.FieldOutline;
-import com.sun.tools.internal.xjc.outline.Outline;
-
-/**
- * Dumps an annotated grammar in a simple format that
- * makes signature check easy.
- *
- * @author
- * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
- */
-public class SignatureWriter {
-
- public static void write( Outline model, Writer out )
- throws IOException {
-
- new SignatureWriter(model,out).dump();
- }
-
- private SignatureWriter( Outline model, Writer out ) {
- this.out = out;
- this.classes = model.getClasses();
-
- for( ClassOutline ci : classes )
- classSet.put( ci.ref, ci );
- }
-
- /** All the ClassItems in this grammar. */
- private final Collection<? extends ClassOutline> classes;
- /** Map from content interfaces to ClassItem. */
- private final Map<JDefinedClass,ClassOutline> classSet = new HashMap<JDefinedClass,ClassOutline>();
-
- private final Writer out;
- private int indent=0;
- private void printIndent() throws IOException {
- for( int i=0; i<indent; i++ )
- out.write(" ");
- }
- private void println(String s) throws IOException {
- printIndent();
- out.write(s);
- out.write('\n');
- }
-
- private void dump() throws IOException {
-
- // collect packages used in the class.
- Set<JPackage> packages = new TreeSet<JPackage>(new Comparator<JPackage>() {
- public int compare(JPackage lhs, JPackage rhs) {
- return lhs.name().compareTo(rhs.name());
- }
- });
- for( ClassOutline ci : classes )
- packages.add(ci._package()._package());
-
- for( JPackage pkg : packages )
- dump( pkg );
-
- out.flush();
- }
-
- private void dump( JPackage pkg ) throws IOException {
- println("package "+pkg.name()+" {");
- indent++;
- dumpChildren(pkg);
- indent--;
- println("}");
- }
-
- private void dumpChildren( JClassContainer cont ) throws IOException {
- Iterator itr = cont.classes();
- while(itr.hasNext()) {
- JDefinedClass cls = (JDefinedClass)itr.next();
- ClassOutline ci = classSet.get(cls);
- if(ci!=null)
- dump(ci);
- }
- }
-
- private void dump( ClassOutline ci ) throws IOException {
- JDefinedClass cls = ci.implClass;
-
- StringBuilder buf = new StringBuilder();
- buf.append("interface ");
- buf.append(cls.name());
-
- boolean first=true;
- Iterator itr = cls._implements();
- while(itr.hasNext()) {
- if(first) {
- buf.append(" extends ");
- first=false;
- } else {
- buf.append(", ");
- }
- buf.append( printName((JClass)itr.next()) );
- }
- buf.append(" {");
- println(buf.toString());
- indent++;
-
- // dump the field
- for( FieldOutline fo : ci.getDeclaredFields() ) {
- String type = printName(fo.getRawType());
- println(type+' '+fo.getPropertyInfo().getName(true)+';');
- }
-
- dumpChildren(cls);
-
- indent--;
- println("}");
- }
-
- /** Get the display name of a type. */
- private String printName( JType t ) {
- String name = t.fullName();
- if(name.startsWith("java.lang."))
- name = name.substring(10); // chop off the package name
- return name;
- }
-}