
<!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>OpenCMIS InMemory Server WAR packaging 0.9.0 Reference</title>
		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
	</head>
	<body>
				<div class="overview">
			<ul>
				<li class="selected">Overview</li>
				<li>Package</li>
			</ul>
		</div>
		<div class="framenoframe">
			<ul>
				<li>
					<a href="index.html" target="_top">FRAMES</a>
				</li>
				<li>
    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
        	  	</li>
	        </ul>
      	</div>
		
		      	<h2>OpenCMIS InMemory Server WAR packaging 0.9.0 Reference</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Packages</th>
          		</tr>
        	</thead>
        	<tbody>
    	    	            	<tr>
              		<td>
                		<a href="org/apache/chemistry/opencmis/inmemory/package-summary.html">org.apache.chemistry.opencmis.inmemory</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/chemistry/opencmis/inmemory/query/package-summary.html">org.apache.chemistry.opencmis.inmemory.query</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/chemistry/opencmis/inmemory/server/package-summary.html">org.apache.chemistry.opencmis.inmemory.server</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/chemistry/opencmis/inmemory/storedobj/api/package-summary.html">org.apache.chemistry.opencmis.inmemory.storedobj.api</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/chemistry/opencmis/inmemory/storedobj/impl/package-summary.html">org.apache.chemistry.opencmis.inmemory.storedobj.impl</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/chemistry/opencmis/inmemory/types/package-summary.html">org.apache.chemistry.opencmis.inmemory.types</a>
              		</td>
            	</tr>
	          	        	</tbody>
      	</table>
		
				<div class="overview">
			<ul>
				<li class="selected">Overview</li>
				<li>Package</li>
			</ul>
		</div>
		<div class="framenoframe">
			<ul>
				<li>
					<a href="index.html" target="_top">FRAMES</a>
				</li>
				<li>
    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
        	  	</li>
	        </ul>
      	</div>
		
		<hr />
		Copyright &#169; 2009-2013 The Apache Software Foundation. All Rights Reserved.
	</body>
</html>