jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java
changeset 29839 6d5d546e953b
parent 25871 b80b84e87032
equal deleted inserted replaced
29838:fe5fd9871a13 29839:6d5d546e953b
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    31 import java.util.List;
    31 import java.util.List;
    32 
    32 
    33 import com.sun.codemodel.internal.JClass;
    33 import com.sun.codemodel.internal.JClass;
    34 import com.sun.codemodel.internal.JDefinedClass;
    34 import com.sun.codemodel.internal.JDefinedClass;
    35 import com.sun.tools.internal.xjc.model.CClassInfo;
    35 import com.sun.tools.internal.xjc.model.CClassInfo;
       
    36 import com.sun.tools.internal.xjc.model.CCustomizable;
    36 import com.sun.tools.internal.xjc.model.CPropertyInfo;
    37 import com.sun.tools.internal.xjc.model.CPropertyInfo;
    37 import com.sun.istack.internal.NotNull;
    38 import com.sun.istack.internal.NotNull;
    38 
    39 
    39 /**
    40 /**
    40  * Outline object that provides per-{@link CClassInfo} information
    41  * Outline object that provides per-{@link CClassInfo} information
    42  *
    43  *
    43  * This interface is accessible from {@link Outline}
    44  * This interface is accessible from {@link Outline}
    44  *
    45  *
    45  * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
    46  * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
    46  */
    47  */
    47 public abstract class ClassOutline {
    48 public abstract class ClassOutline implements CustomizableOutline {
    48 
    49 
    49     /**
    50     /**
    50      * A {@link Outline} that encloses all the class outlines.
    51      * A {@link Outline} that encloses all the class outlines.
    51      */
    52      */
    52     public abstract @NotNull Outline parent();
    53     public abstract @NotNull Outline parent();
   120     public final ClassOutline getSuperClass() {
   121     public final ClassOutline getSuperClass() {
   121         CClassInfo s = target.getBaseClass();
   122         CClassInfo s = target.getBaseClass();
   122         if(s==null)     return null;
   123         if(s==null)     return null;
   123         return parent().getClazz(s);
   124         return parent().getClazz(s);
   124     }
   125     }
       
   126 
       
   127     @Override
       
   128     public JDefinedClass getImplClass() {
       
   129         return implClass;
       
   130     }
       
   131 
       
   132     @Override
       
   133     public CCustomizable getTarget() {
       
   134         return target;
       
   135     }
   125 }
   136 }