<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SignatureType (Apache CXF Bundle Jar 2.6.3 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.cxf.ws.security.sts.provider.model.xmldsig.SignatureType class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="SignatureType (Apache CXF Bundle Jar 2.6.3 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= 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/SignatureType.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="../../../../../../../../../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>
Apache CXF API</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignaturePropertyType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../../../index.html?org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SignatureType.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;<A HREF="#field_summary">FIELD</A>&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;<A HREF="#field_detail">FIELD</A>&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.cxf.ws.security.sts.provider.model.xmldsig</FONT>
<BR>
Class SignatureType</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cxf.ws.security.sts.provider.model.xmldsig.SignatureType</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>SignatureType</B><DT>extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
</PRE>

<P>
<p>Java class for SignatureType complex type.
 
 <p>The following schema fragment specifies the expected content contained within this class.
 
 <pre>
 &lt;complexType name="SignatureType">
   &lt;complexContent>
     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       &lt;sequence>
         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignedInfo"/>
         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureValue"/>
         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/>
         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Object" maxOccurs="unbounded" minOccurs="0"/>
       &lt;/sequence>
       &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
     &lt;/restriction>
   &lt;/complexContent>
 &lt;/complexType>
 </pre>
<P>

<P>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#id">id</A></B></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>protected &nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">KeyInfoType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#keyInfo">keyInfo</A></B></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>protected &nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/ObjectType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">ObjectType</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#object">object</A></B></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>protected &nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignatureValueType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#signatureValue">signatureValue</A></B></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>protected &nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignedInfoType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#signedInfo">signedInfo</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== 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/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#SignatureType()">SignatureType</A></B>()</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;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#getId()">getId</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the id property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">KeyInfoType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#getKeyInfo()">getKeyInfo</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the keyInfo property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/ObjectType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">ObjectType</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#getObject()">getObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the object property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignatureValueType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#getSignatureValue()">getSignatureValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the signatureValue property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignedInfoType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#getSignedInfo()">getSignedInfo</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the signedInfo property.</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/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#setId(java.lang.String)">setId</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the id property.</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/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#setKeyInfo(org.apache.cxf.ws.security.sts.provider.model.xmldsig.KeyInfoType)">setKeyInfo</A></B>(<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">KeyInfoType</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the keyInfo property.</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/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#setSignatureValue(org.apache.cxf.ws.security.sts.provider.model.xmldsig.SignatureValueType)">setSignatureValue</A></B>(<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignatureValueType</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the signatureValue property.</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/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html#setSignedInfo(org.apache.cxf.ws.security.sts.provider.model.xmldsig.SignedInfoType)">setSignedInfo</A></B>(<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignedInfoType</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the signedInfo property.</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.<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="signedInfo"><!-- --></A><H3>
signedInfo</H3>
<PRE>
protected <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignedInfoType</A> <B>signedInfo</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="signatureValue"><!-- --></A><H3>
signatureValue</H3>
<PRE>
protected <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignatureValueType</A> <B>signatureValue</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="keyInfo"><!-- --></A><H3>
keyInfo</H3>
<PRE>
protected <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">KeyInfoType</A> <B>keyInfo</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="object"><!-- --></A><H3>
object</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/ObjectType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">ObjectType</A>&gt; <B>object</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="id"><!-- --></A><H3>
id</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>id</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= 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="SignatureType()"><!-- --></A><H3>
SignatureType</H3>
<PRE>
public <B>SignatureType</B>()</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="getSignedInfo()"><!-- --></A><H3>
getSignedInfo</H3>
<PRE>
public <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignedInfoType</A> <B>getSignedInfo</B>()</PRE>
<DL>
<DD>Gets the value of the signedInfo property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is
     <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>SignedInfoType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setSignedInfo(org.apache.cxf.ws.security.sts.provider.model.xmldsig.SignedInfoType)"><!-- --></A><H3>
setSignedInfo</H3>
<PRE>
public void <B>setSignedInfo</B>(<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignedInfoType</A>&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the signedInfo property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is
     <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignedInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>SignedInfoType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSignatureValue()"><!-- --></A><H3>
getSignatureValue</H3>
<PRE>
public <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignatureValueType</A> <B>getSignatureValue</B>()</PRE>
<DL>
<DD>Gets the value of the signatureValue property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is
     <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>SignatureValueType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setSignatureValue(org.apache.cxf.ws.security.sts.provider.model.xmldsig.SignatureValueType)"><!-- --></A><H3>
setSignatureValue</H3>
<PRE>
public void <B>setSignatureValue</B>(<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">SignatureValueType</A>&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the signatureValue property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is
     <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>SignatureValueType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getKeyInfo()"><!-- --></A><H3>
getKeyInfo</H3>
<PRE>
public <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">KeyInfoType</A> <B>getKeyInfo</B>()</PRE>
<DL>
<DD>Gets the value of the keyInfo property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is
     <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>KeyInfoType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setKeyInfo(org.apache.cxf.ws.security.sts.provider.model.xmldsig.KeyInfoType)"><!-- --></A><H3>
setKeyInfo</H3>
<PRE>
public void <B>setKeyInfo</B>(<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">KeyInfoType</A>&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the keyInfo property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is
     <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/KeyInfoType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>KeyInfoType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getObject()"><!-- --></A><H3>
getObject</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/ObjectType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig">ObjectType</A>&gt; <B>getObject</B>()</PRE>
<DL>
<DD>Gets the value of the object property.
 
 <p>
 This accessor method returns a reference to the live list,
 not a snapshot. Therefore any modification you make to the
 returned list will be present inside the JAXB object.
 This is why there is not a <CODE>set</CODE> method for the object property.
 
 <p>
 For example, to add a new item, do as follows:
 <pre>
    getObject().add(newItem);
 </pre>
 
 
 <p>
 Objects of the following type(s) are allowed in the list
 <A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/ObjectType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><CODE>ObjectType</CODE></A>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getId()"><!-- --></A><H3>
getId</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getId</B>()</PRE>
<DL>
<DD>Gets the value of the id property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is
     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setId(java.lang.String)"><!-- --></A><H3>
setId</H3>
<PRE>
public void <B>setId</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the id property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is
     <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A></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/SignatureType.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="../../../../../../../../../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>
Apache CXF API</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignaturePropertyType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../../../../org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureValueType.html" title="class in org.apache.cxf.ws.security.sts.provider.model.xmldsig"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../../../index.html?org/apache/cxf/ws/security/sts/provider/model/xmldsig/SignatureType.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SignatureType.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;<A HREF="#field_summary">FIELD</A>&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;<A HREF="#field_detail">FIELD</A>&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>
Apache CXF
</BODY>
</HTML>
