<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XKMSResponseFactory (Apache CXF JavaDoc 3.4.5 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="XKMSResponseFactory (Apache CXF JavaDoc 3.4.5 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/XKMSResponseFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Apache CXF API</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cxf/xkms/service/NamedServiceProxy.html" title="class in org.apache.cxf.xkms.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/cxf/xkms/service/XKMSService.html" title="class in org.apache.cxf.xkms.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cxf/xkms/service/XKMSResponseFactory.html" target="_top">Frames</a></li>
<li><a href="XKMSResponseFactory.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cxf.xkms.service</div>
<h2 title="Class XKMSResponseFactory" class="title">Class XKMSResponseFactory</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cxf.xkms.service.XKMSResponseFactory</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">XKMSResponseFactory</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cxf/xkms/service/XKMSResponseFactory.html#copyOpaqueClientData-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">copyOpaqueClientData</a></span>(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
                    <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;response)</code>
<div class="block">Copies OpaqueClientData from request to response as per XKMS specification
 http://www.w3.org/TR/xkms2/#XKMS_2_0_Section_1 [86]</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cxf/xkms/service/XKMSResponseFactory.html#copyRequestId-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">copyRequestId</a></span>(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
             <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;response)</code>
<div class="block">Copies Request ID to response as per XKMS specification http://www.w3.org/TR/xkms2/#XKMS_2_0_Section_1</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cxf/xkms/service/XKMSResponseFactory.html#copyServiceName-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">copyServiceName</a></span>(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
               <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;response)</code>
<div class="block">Copies service name from request to response.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cxf/xkms/service/XKMSResponseFactory.html#createResponse-org.apache.cxf.xkms.model.xkms.RequestAbstractType-">createResponse</a></span>(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static &lt;T extends <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&gt;<br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cxf/xkms/service/XKMSResponseFactory.html#createResponse-org.apache.cxf.xkms.model.xkms.RequestAbstractType-T-">createResponse</a></span>(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
              T&nbsp;response)</code>
<div class="block">The following activities are performed:

 1) generation and assigning of unique response ID
 2) copying of request id
 3) copying of service name
 4) copying of opaqueClientData
 5) setting major result to success</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cxf/xkms/service/XKMSResponseFactory.html#generateUniqueID--">generateUniqueID</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="createResponse-org.apache.cxf.xkms.model.xkms.RequestAbstractType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResponse</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;createResponse(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - Request to generate response for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns response for provided request, with SUCCESS as default major result.</dd>
</dl>
</li>
</ul>
<a name="createResponse-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">
<!--   -->
</a><a name="createResponse-org.apache.cxf.xkms.model.xkms.RequestAbstractType-T-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResponse</h4>
<pre>public static&nbsp;&lt;T extends <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&gt;&nbsp;T&nbsp;createResponse(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
                                                      T&nbsp;response)</pre>
<div class="block">The following activities are performed:

 1) generation and assigning of unique response ID
 2) copying of request id
 3) copying of service name
 4) copying of opaqueClientData
 5) setting major result to success</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - Request to be used for response</dd>
<dd><code>response</code> - Response to be enriched</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns enriched response</dd>
</dl>
</li>
</ul>
<a name="copyOpaqueClientData-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyOpaqueClientData</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;copyOpaqueClientData(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
                                              <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;response)</pre>
<div class="block">Copies OpaqueClientData from request to response as per XKMS specification
 http://www.w3.org/TR/xkms2/#XKMS_2_0_Section_1 [86]</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - Containing OpaqueClientData</dd>
<dd><code>response</code> - to be used for inserting OpaqueClientData</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Response unmodified, except for including OpaqueClientData from request</dd>
</dl>
</li>
</ul>
<a name="copyRequestId-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyRequestId</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;copyRequestId(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
                                       <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;response)</pre>
<div class="block">Copies Request ID to response as per XKMS specification http://www.w3.org/TR/xkms2/#XKMS_2_0_Section_1</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - Containing request ID</dd>
<dd><code>response</code> - to be used for inserting request ID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Response unmodified, except for setting request ID</dd>
</dl>
</li>
</ul>
<a name="copyServiceName-org.apache.cxf.xkms.model.xkms.RequestAbstractType-org.apache.cxf.xkms.model.xkms.ResultType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyServiceName</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;copyServiceName(<a href="../../../../../org/apache/cxf/xkms/model/xkms/RequestAbstractType.html" title="class in org.apache.cxf.xkms.model.xkms">RequestAbstractType</a>&nbsp;request,
                                         <a href="../../../../../org/apache/cxf/xkms/model/xkms/ResultType.html" title="class in org.apache.cxf.xkms.model.xkms">ResultType</a>&nbsp;response)</pre>
<div class="block">Copies service name from request to response.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - containing service name</dd>
<dd><code>response</code> - to be used for inserting service name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Response unmodified, except for setting service name</dd>
</dl>
</li>
</ul>
<a name="generateUniqueID--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>generateUniqueID</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;generateUniqueID()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns generated random UUID</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/XKMSResponseFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Apache CXF API</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cxf/xkms/service/NamedServiceProxy.html" title="class in org.apache.cxf.xkms.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/cxf/xkms/service/XKMSService.html" title="class in org.apache.cxf.xkms.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cxf/xkms/service/XKMSResponseFactory.html" target="_top">Frames</a></li>
<li><a href="XKMSResponseFactory.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Apache CXF</small></p>
</body>
</html>
