View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  
22  package org.opencastproject.kernel.bundleinfo;
23  
24  import java.util.List;
25  
26  /** Persistence for bundle information. */
27  public interface BundleInfoDb {
28    /** Store a bundle info object. */
29    void store(BundleInfo info) throws BundleInfoDbException;
30  
31    /** Delete a bundle. */
32    void delete(String host, long bundleId) throws BundleInfoDbException;
33  
34    /** Clear the database for a certain host. */
35    void clear(String host) throws BundleInfoDbException;
36  
37    /** Clear the complete database. */
38    void clearAll() throws BundleInfoDbException;
39  
40    /** Return a list of all running bundles. */
41    List<BundleInfo> getBundles() throws BundleInfoDbException;
42  
43    /** Return a list of all running bundles whose symbolic names start with one of the given prefixes. */
44    List<BundleInfo> getBundles(String... prefixes) throws BundleInfoDbException;
45  }