<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0) on Mon Oct 19 13:38:34 CDT 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
JettisonJAXBElementProvider (Apache Wink 1.0-incubating API)
</TITLE>

<META NAME="date" CONTENT="2009-10-19">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="JettisonJAXBElementProvider (Apache Wink 1.0-incubating API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JettisonJAXBElementProvider.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="JettisonJAXBElementProvider.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.wink.providers.jettison</FONT>
<BR>
Class JettisonJAXBElementProvider</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">org.apache.wink.common.internal.providers.entity.xml.AbstractJAXBProvider
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.wink.providers.jettison.JettisonJAXBElementProvider</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>javax.ws.rs.ext.MessageBodyReader&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;, javax.ws.rs.ext.MessageBodyWriter&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1">@Provider
</FONT>public class <B>JettisonJAXBElementProvider</B><DT>extends org.apache.wink.common.internal.providers.entity.xml.AbstractJAXBProvider<DT>implements javax.ws.rs.ext.MessageBodyReader&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;, javax.ws.rs.ext.MessageBodyWriter&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</DL>
</PRE>

<P>
A Jettison JAXBElement provider. By default, use the BadgerFishConvention.
 Namespace mapping needs to be set if namespaces are used. In Application
 sub-class, use <CODE>Application.getSingletons()</CODE> to add to application.
<P>

<P>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#JettisonJAXBElementProvider()">JettisonJAXBElementProvider</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#JettisonJAXBElementProvider(boolean, org.codehaus.jettison.mapped.Configuration, org.codehaus.jettison.mapped.Configuration)">JettisonJAXBElementProvider</A></B>(boolean&nbsp;isBadgerFishConventionUsed,
                            org.codehaus.jettison.mapped.Configuration&nbsp;reader,
                            org.codehaus.jettison.mapped.Configuration&nbsp;writer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#getSize(javax.xml.bind.JAXBElement, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)">getSize</A></B>(javax.xml.bind.JAXBElement&lt;?&gt;&nbsp;t,
        java.lang.Class&lt;?&gt;&nbsp;type,
        java.lang.reflect.Type&nbsp;genericType,
        java.lang.annotation.Annotation[]&nbsp;annotations,
        javax.ws.rs.core.MediaType&nbsp;mediaType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)">isReadable</A></B>(java.lang.Class&lt;?&gt;&nbsp;type,
           java.lang.reflect.Type&nbsp;genericType,
           java.lang.annotation.Annotation[]&nbsp;annotations,
           javax.ws.rs.core.MediaType&nbsp;mediaType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)">isWriteable</A></B>(java.lang.Class&lt;?&gt;&nbsp;type,
            java.lang.reflect.Type&nbsp;genericType,
            java.lang.annotation.Annotation[]&nbsp;annotations,
            javax.ws.rs.core.MediaType&nbsp;mediaType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.xml.bind.JAXBElement&lt;?&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)">readFrom</A></B>(java.lang.Class&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;&nbsp;type,
         java.lang.reflect.Type&nbsp;genericType,
         java.lang.annotation.Annotation[]&nbsp;annotations,
         javax.ws.rs.core.MediaType&nbsp;mediaType,
         javax.ws.rs.core.MultivaluedMap&lt;java.lang.String,java.lang.String&gt;&nbsp;httpHeaders,
         java.io.InputStream&nbsp;entityStream)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#setUseAsReader(boolean)">setUseAsReader</A></B>(boolean&nbsp;isReadable)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#setUseAsWriter(boolean)">setUseAsWriter</A></B>(boolean&nbsp;isWritable)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#writeTo(javax.xml.bind.JAXBElement, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)">writeTo</A></B>(javax.xml.bind.JAXBElement&lt;?&gt;&nbsp;t,
        java.lang.Class&lt;?&gt;&nbsp;type,
        java.lang.reflect.Type&nbsp;genericType,
        java.lang.annotation.Annotation[]&nbsp;annotations,
        javax.ws.rs.core.MediaType&nbsp;mediaType,
        javax.ws.rs.core.MultivaluedMap&lt;java.lang.String,java.lang.Object&gt;&nbsp;httpHeaders,
        java.io.OutputStream&nbsp;entityStream)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.wink.common.internal.providers.entity.xml.AbstractJAXBProvider"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.wink.common.internal.providers.entity.xml.AbstractJAXBProvider</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getEntityToMarshal, getMarshaller, getUnmarshaller, isJAXBElement, isJAXBObject, isSupportedMediaType</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="JettisonJAXBElementProvider()"><!-- --></A><H3>
JettisonJAXBElementProvider</H3>
<PRE>
public <B>JettisonJAXBElementProvider</B>()</PRE>
<DL>
</DL>
<HR>

<A NAME="JettisonJAXBElementProvider(boolean, org.codehaus.jettison.mapped.Configuration, org.codehaus.jettison.mapped.Configuration)"><!-- --></A><H3>
JettisonJAXBElementProvider</H3>
<PRE>
public <B>JettisonJAXBElementProvider</B>(boolean&nbsp;isBadgerFishConventionUsed,
                                   org.codehaus.jettison.mapped.Configuration&nbsp;reader,
                                   org.codehaus.jettison.mapped.Configuration&nbsp;writer)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="setUseAsReader(boolean)"><!-- --></A><H3>
setUseAsReader</H3>
<PRE>
public void <B>setUseAsReader</B>(boolean&nbsp;isReadable)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUseAsWriter(boolean)"><!-- --></A><H3>
setUseAsWriter</H3>
<PRE>
public void <B>setUseAsWriter</B>(boolean&nbsp;isWritable)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><!-- --></A><H3>
isReadable</H3>
<PRE>
public boolean <B>isReadable</B>(java.lang.Class&lt;?&gt;&nbsp;type,
                          java.lang.reflect.Type&nbsp;genericType,
                          java.lang.annotation.Annotation[]&nbsp;annotations,
                          javax.ws.rs.core.MediaType&nbsp;mediaType)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>isReadable</CODE> in interface <CODE>javax.ws.rs.ext.MessageBodyReader&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><!-- --></A><H3>
readFrom</H3>
<PRE>
public javax.xml.bind.JAXBElement&lt;?&gt; <B>readFrom</B>(java.lang.Class&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;&nbsp;type,
                                              java.lang.reflect.Type&nbsp;genericType,
                                              java.lang.annotation.Annotation[]&nbsp;annotations,
                                              javax.ws.rs.core.MediaType&nbsp;mediaType,
                                              javax.ws.rs.core.MultivaluedMap&lt;java.lang.String,java.lang.String&gt;&nbsp;httpHeaders,
                                              java.io.InputStream&nbsp;entityStream)
                                       throws java.io.IOException,
                                              javax.ws.rs.WebApplicationException</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>readFrom</CODE> in interface <CODE>javax.ws.rs.ext.MessageBodyReader&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE>
<DD><CODE>javax.ws.rs.WebApplicationException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getSize(javax.xml.bind.JAXBElement, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><!-- --></A><H3>
getSize</H3>
<PRE>
public long <B>getSize</B>(javax.xml.bind.JAXBElement&lt;?&gt;&nbsp;t,
                    java.lang.Class&lt;?&gt;&nbsp;type,
                    java.lang.reflect.Type&nbsp;genericType,
                    java.lang.annotation.Annotation[]&nbsp;annotations,
                    javax.ws.rs.core.MediaType&nbsp;mediaType)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getSize</CODE> in interface <CODE>javax.ws.rs.ext.MessageBodyWriter&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><!-- --></A><H3>
isWriteable</H3>
<PRE>
public boolean <B>isWriteable</B>(java.lang.Class&lt;?&gt;&nbsp;type,
                           java.lang.reflect.Type&nbsp;genericType,
                           java.lang.annotation.Annotation[]&nbsp;annotations,
                           javax.ws.rs.core.MediaType&nbsp;mediaType)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>isWriteable</CODE> in interface <CODE>javax.ws.rs.ext.MessageBodyWriter&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="writeTo(javax.xml.bind.JAXBElement, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><!-- --></A><H3>
writeTo</H3>
<PRE>
public void <B>writeTo</B>(javax.xml.bind.JAXBElement&lt;?&gt;&nbsp;t,
                    java.lang.Class&lt;?&gt;&nbsp;type,
                    java.lang.reflect.Type&nbsp;genericType,
                    java.lang.annotation.Annotation[]&nbsp;annotations,
                    javax.ws.rs.core.MediaType&nbsp;mediaType,
                    javax.ws.rs.core.MultivaluedMap&lt;java.lang.String,java.lang.Object&gt;&nbsp;httpHeaders,
                    java.io.OutputStream&nbsp;entityStream)
             throws java.io.IOException,
                    javax.ws.rs.WebApplicationException</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>writeTo</CODE> in interface <CODE>javax.ws.rs.ext.MessageBodyWriter&lt;javax.xml.bind.JAXBElement&lt;?&gt;&gt;</CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE>
<DD><CODE>javax.ws.rs.WebApplicationException</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JettisonJAXBElementProvider.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="JettisonJAXBElementProvider.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2009 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
