com.sun.tools.xjc.api.impl.s2j
Class AbstractMappingImpl<InfoT extends CElement>

java.lang.Object
  extended by com.sun.tools.xjc.api.impl.s2j.AbstractMappingImpl<InfoT>
All Implemented Interfaces:
Mapping
Direct Known Subclasses:
BeanMappingImpl, ElementMappingImpl

abstract class AbstractMappingImpl<InfoT extends CElement>
extends Object
implements Mapping

Partial common implementation between ElementMappingImpl and BeanMappingImpl


Field Summary
protected  InfoT clazz
           
protected  JAXBModelImpl parent
           
 
Constructor Summary
protected AbstractMappingImpl(JAXBModelImpl parent, InfoT clazz)
           
 
Method Summary
protected  List<Property> buildDrilldown(CClassInfo typeBean)
          Derived classes can use this method to implement calcDrilldown().
protected abstract  List<Property> calcDrilldown()
           
 String getClazz()
           
 QName getElement()
          Name of the XML element.
 List<? extends Property> getWrapperStyleDrilldown()
          If this element is a so-called "wrapper-style" element, obtains its member information.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.tools.xjc.api.Mapping
getType
 

Field Detail

parent

protected final JAXBModelImpl parent

clazz

protected final InfoT extends CElement clazz
Constructor Detail

AbstractMappingImpl

protected AbstractMappingImpl(JAXBModelImpl parent,
                              InfoT clazz)
Method Detail

getElement

public final QName getElement()
Description copied from interface: Mapping
Name of the XML element.

Specified by:
getElement in interface Mapping
Returns:
never be null.

getClazz

public final String getClazz()

getWrapperStyleDrilldown

public final List<? extends Property> getWrapperStyleDrilldown()
Description copied from interface: Mapping
If this element is a so-called "wrapper-style" element, obtains its member information.

The notion of the wrapper style should be defined by the JAXB spec, and ideally it should differ from that of the JAX-RPC only at the point where the JAX-RPC imposes additional restriction on the element name.

As of this writing the JAXB spec doesn't define "the wrapper style" and as such the exact definition of what XJC thinks "the wrapper style" isn't spec-ed.

Ths returned list includes Property defined not just in this class but in all its base classes.

Specified by:
getWrapperStyleDrilldown in interface Mapping
Returns:
null if this isn't a wrapper-style element. Otherwise list of Propertys. The order signifies the order they appeared inside a schema.

calcDrilldown

protected abstract List<Property> calcDrilldown()

buildDrilldown

protected List<Property> buildDrilldown(CClassInfo typeBean)
Derived classes can use this method to implement calcDrilldown().