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.ingestdownloadservice.api;
23  
24  import org.opencastproject.job.api.Job;
25  import org.opencastproject.mediapackage.MediaPackage;
26  import org.opencastproject.serviceregistry.api.ServiceRegistryException;
27  
28  
29  public interface IngestDownloadService {
30  
31    /** Receipt type */
32    String JOB_TYPE = "org.opencastproject.ingestdownload";
33  
34    /**
35     *
36     * @param mediaPackage
37     *        The media package to download elements from
38     * @param sourceFlavors
39     *        Flavors identifying elements to download
40     * @param sourceTags
41     *        Tags identifying elements to download
42     * @param deleteExternal
43     *        If the service should try to delete external elements after downloading
44     * @param tagsAndFlavor
45     *        If elements are selected based on a union or an interjection of the sets selected by tags and flavors
46     * @return The launched job
47     * @throws ServiceRegistryException
48     *        If starting the job failed
49     */
50    Job ingestDownload(MediaPackage mediaPackage, String sourceFlavors, String sourceTags, boolean deleteExternal,
51            boolean tagsAndFlavor)
52            throws ServiceRegistryException;
53  }