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  /**
28   * Models a keyword annotation with relevance, confidence and the keyword itself.
29   *
30   * <pre>
31   * &lt;complexType name=&quot;KeywordAnnotationType&quot;&gt;
32   *   &lt;sequence&gt;
33   *       &lt;element name=&quot;Keyword&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;unbounded&quot;&gt;
34   *           &lt;complexType&gt;
35   *               &lt;simpleContent&gt;
36   *                   &lt;extension base=&quot;mpeg7:TextualType&quot;&gt;
37   *                       &lt;attribute name=&quot;type&quot; use=&quot;optional&quot; default=&quot;main&quot;&gt;
38   *                           &lt;simpleType&gt;
39   *                               &lt;restriction base=&quot;NMTOKEN&quot;&gt;
40   *                                   &lt;enumeration value=&quot;main&quot;/&gt;
41   *                                   &lt;enumeration value=&quot;secondary&quot;/&gt;
42   *                                   &lt;enumeration value=&quot;other&quot;/&gt;
43   *                               &lt;/restriction&gt;
44   *                           &lt;/simpleType&gt;
45   *                       &lt;/attribute&gt;
46   *                   &lt;/extension&gt;
47   *               &lt;/simpleContent&gt;
48   *           &lt;/complexType&gt;
49   *       &lt;/element&gt;
50   *   &lt;/sequence&gt;
51   *   &lt;attribute ref=&quot;xml:lang&quot; use=&quot;optional&quot;/&gt;
52   * &lt;/complexType&gt;
53   * </pre>
54   */
55  public interface KeywordAnnotation extends XmlElement {
56  
57    /**
58     * Enumeration defining possible types for a keyword annotation.
59     */
60    enum Type {
61      main, secondary, other
62    };
63  
64    /**
65     * Returns the keyword.
66     *
67     * @return the keyword
68     */
69    String getKeyword();
70  
71    /**
72     * Returns the type of this keyword annotation. The default value is <code>main</code>.
73     *
74     * @return the keyword type
75     */
76    Type getType();
77  
78  }