
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title>Archiva :: Modules 1.4-M4 Reference Package org.apache.archiva.transaction</title>
		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
	</head>
	<body>
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
		
		      	<h2>Package org.apache.archiva.transaction</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="AbstractFileEventTest.html" target="classFrame">AbstractFileEventTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="CopyFileEventTest.html" target="classFrame">CopyFileEventTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="CreateFileEventTest.html" target="classFrame">CreateFileEventTest</a>
              		</td>
            	</tr>
				        	</tbody>
      	</table>
		
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
				<hr />
		Copyright &#169; 2006-2013 The Apache Software Foundation. All Rights Reserved.
	</body>
</html>