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 * <complexType name="KeywordAnnotationType">
32 * <sequence>
33 * <element name="Keyword" minOccurs="1" maxOccurs="unbounded">
34 * <complexType>
35 * <simpleContent>
36 * <extension base="mpeg7:TextualType">
37 * <attribute name="type" use="optional" default="main">
38 * <simpleType>
39 * <restriction base="NMTOKEN">
40 * <enumeration value="main"/>
41 * <enumeration value="secondary"/>
42 * <enumeration value="other"/>
43 * </restriction>
44 * </simpleType>
45 * </attribute>
46 * </extension>
47 * </simpleContent>
48 * </complexType>
49 * </element>
50 * </sequence>
51 * <attribute ref="xml:lang" use="optional"/>
52 * </complexType>
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 }