1 /* 2 * Copyright (C) The Apache Software Foundation. All rights reserved. 3 * 4 * This software is published under the terms of the Apache Software License 5 * version 1.1, a copy of which has been included with this distribution in 6 * the LICENSE.txt file. 7 */ 8 package org.apache.avalon.excalibur.extension; 9 10 import java.io.File; 11 import java.io.IOException; 12 13 /** 14 * <p>Interface used to store a collection of "Optional Packages" 15 * (formerly known as "Standard Extensions"). It is assumed that each 16 * "Optional Package" is represented by a single file on the file system.</p> 17 * 18 * <p>This repository is responsible for storing the local repository of 19 * packages. The method used to locate packages on local filesystem 20 * and install packages is not specified.</p> 21 * 22 * <p>For more information about optional packages, see the document 23 * <em>Optional Package Versioning</em> in the documentation bundle for your 24 * Java2 Standard Edition package, in file 25 * <code>guide/extensions/versioning.html</code></p>. 26 * 27 * @author <a HREF="mailto:peter@apache.org">Peter Donald</a> 28 * @version $Revision: 1.5 $ $Date: 2001/12/11 09:53:34 $ 29 */ 30 public interface PackageRepository 31 { 32 /** 33 * Return all the <code>OptionalPackage</code>s that satisfy specified 34 * <code>Extension</code>. 35 * 36 * @param extension Description of the extension that needs to be provided by 37 * optional packages 38 * @see #getOptionalPackage() 39 * @see OptionalPackage 40 * @see Extension 41 */ 42 OptionalPackage[] getOptionalPackages( Extension extension ); 43 } 44