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.smil.entity.media.container.api;
23  
24  import org.opencastproject.smil.entity.media.api.SmilMediaObject;
25  
26  import java.util.List;
27  
28  /**
29   * Represent a media container like {@code par}, {@code seq},...
30   */
31  public interface SmilMediaContainer extends SmilMediaObject {
32  
33    /**
34     * SMIL media container type.
35     */
36    enum ContainerType {
37      PAR, SEQ
38    }
39  
40    /**
41     * Returns the type of the container.
42     *
43     * @return container type
44     */
45    ContainerType getContainerType();
46  
47    /**
48     * Returns media elements or containers inside as {@link List} of
49     * {@link SmilMediaObject}s. The {@link List} is immutable, use
50     * SmilService to modify it.
51     *
52     * @return
53     */
54    List<SmilMediaObject> getElements();
55  
56    /**
57     * Returns true, if has a child element with same Id.
58     *
59     * @param childId child Id
60     * @return true if has a child with same Id
61     */
62    boolean isParentOf(String childId);
63  }