
<!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.web.model</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.web.model</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="ApplicationRuntimeInfo.html" target="classFrame">ApplicationRuntimeInfo</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="CookieInformation.html" target="classFrame">CookieInformation</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="FileMetadata.html" target="classFrame">FileMetadata</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="JavascriptLog.html" target="classFrame">JavascriptLog</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>