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  
23  package org.opencastproject.metadata.mpeg7;
24  
25  import org.opencastproject.mediapackage.XmlElement;
26  
27  import java.util.Iterator;
28  
29  /**
30   * TODO: Comment me!
31   */
32  public interface MultimediaContent<T extends MultimediaContentType> extends XmlElement {
33  
34    /**
35     * Multimedia content type definitions.
36     */
37    enum Type {
38      VideoType, AudioType, AudioVisualType
39    };
40  
41    /**
42     * Returns the multimedia content type.
43     *
44     * @return the type
45     */
46    MultimediaContent.Type getType();
47  
48    /**
49     * Returns the content elements that are enclosed in a multimedia content container.
50     *
51     * @return the multimedia content elements
52     */
53    Iterator<T> elements();
54  
55    /**
56     * Returns the content element with the given identifier or <code>null</code> if element does not exist.
57     *
58     * @param id
59     *          the element identifier
60     * @return the content element
61     */
62    T getElementById(String id);
63  
64    /**
65     * Returns the number of content elements.
66     *
67     * @return the number of content elements
68     */
69    int size();
70  
71  }