com.sun.xml.ws.model
Class AbstractWrapperBeanGenerator<T,C,M,A extends java.lang.Comparable>

java.lang.Object
  extended by com.sun.xml.ws.model.AbstractWrapperBeanGenerator<T,C,M,A>

public abstract class AbstractWrapperBeanGenerator<T,C,M,A extends java.lang.Comparable>
extends java.lang.Object

Finds request/response wrapper and exception bean memebers.

It uses JAXB's AnnotationReader, Navigator so that tools can use this with annotation processing, and the runtime can use this with reflection.


Nested Class Summary
static interface AbstractWrapperBeanGenerator.BeanMemberFactory<T,A>
           
 
Constructor Summary
protected AbstractWrapperBeanGenerator(com.sun.xml.bind.v2.model.annotation.AnnotationReader<T,C,?,M> annReader, com.sun.xml.bind.v2.model.nav.Navigator<T,C,?,M> nav, AbstractWrapperBeanGenerator.BeanMemberFactory<T,A> factory)
           
 
Method Summary
 java.util.Collection<A> collectExceptionBeanMembers(C exception)
          Computes and sorts exception bean members for a given exception as per the 3.7 section of the spec.
 java.util.Collection<A> collectExceptionBeanMembers(C exception, boolean decapitalize)
          Computes and sorts exception bean members for a given exception as per the 3.7 section of the spec.
 java.util.List<A> collectRequestBeanMembers(M method)
          Computes request bean members for a method.
 java.util.List<A> collectResponseBeanMembers(M method)
          Computes response bean members for a method.
protected abstract  T getHolderValueType(T type)
          Returns Holder's value type.
protected abstract  T getSafeType(T type)
           
protected abstract  boolean isVoidType(T type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractWrapperBeanGenerator

protected AbstractWrapperBeanGenerator(com.sun.xml.bind.v2.model.annotation.AnnotationReader<T,C,?,M> annReader,
                                       com.sun.xml.bind.v2.model.nav.Navigator<T,C,?,M> nav,
                                       AbstractWrapperBeanGenerator.BeanMemberFactory<T,A> factory)
Method Detail

getSafeType

protected abstract T getSafeType(T type)

getHolderValueType

protected abstract T getHolderValueType(T type)
Returns Holder's value type.

Returns:
null if it not a Holder, otherwise return Holder's value type

isVoidType

protected abstract boolean isVoidType(T type)

collectRequestBeanMembers

public java.util.List<A> collectRequestBeanMembers(M method)
Computes request bean members for a method. Collects all IN and INOUT parameters as request bean fields. In this process, if a parameter has any known JAXB annotations they are collected as well. Special processing for @XmlElement annotation is done.

Parameters:
method - SEI method for which request bean members are computed
Returns:
List of request bean members

collectResponseBeanMembers

public java.util.List<A> collectResponseBeanMembers(M method)
Computes response bean members for a method. Collects all OUT and INOUT parameters as response bean fields. In this process, if a parameter has any known JAXB annotations they are collected as well. Special processing for @XmlElement annotation is done.

Parameters:
method - SEI method for which response bean members are computed
Returns:
List of response bean members

collectExceptionBeanMembers

public java.util.Collection<A> collectExceptionBeanMembers(C exception)
Computes and sorts exception bean members for a given exception as per the 3.7 section of the spec. It takes all getter properties in the exception and its superclasses(except getCause, getLocalizedMessage, getStackTrace, getClass). The returned collection is sorted based on the property names.

But if the exception has @XmlType its values are honored. Only the propOrder properties are considered. The returned collection is sorted as per the given propOrder.

Parameters:
exception -
Returns:
list of properties in the correct order for an exception bean

collectExceptionBeanMembers

public java.util.Collection<A> collectExceptionBeanMembers(C exception,
                                                           boolean decapitalize)
Computes and sorts exception bean members for a given exception as per the 3.7 section of the spec. It takes all getter properties in the exception and its superclasses(except getCause, getLocalizedMessage, getStackTrace, getClass). The returned collection is sorted based on the property names.

But if the exception has @XmlType its values are honored. Only the propOrder properties are considered. The returned collection is sorted as per the given propOrder.

Parameters:
exception -
decapitalize - if true, all the property names are decapitalized
Returns:
list of properties in the correct order for an exception bean


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.