View Javadoc

1   /***
2    * Java DAB EPG API - Serialize/Deserialize To/From POJOs to XML/Binary as per
3    * ETSI specifications TS 102 818 (XML Specification for DAB EPG) and TS 102 
4    * 371 (Transportation and Binary Encoding Specification for EPG).
5    * 
6    * Copyright (C) 2007 GCap Media PLC
7    *
8    * This library is free software; you can redistribute it and/or
9    * modify it under the terms of the GNU Lesser General Public
10   * License as published by the Free Software Foundation; either
11   * version 2.1 of the License, or (at your option) any later version.
12   *
13   * This library is distributed in the hope that it will be useful,
14   * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16   * Lesser General Public License for more details.
17   *
18   * You should have received a copy of the GNU Lesser General Public
19   * License along with this library; if not, write to the Free Software
20   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
21   */
22  package com.gcapmedia.dab.epg;
23  
24  import java.util.ArrayList;
25  import java.util.Collection;
26  import java.util.List;
27  
28  /***
29   * An aggregation of all other descriptive elements (text and multimedia):
30   * 
31   * <ul>
32   * <li>shortDescription</li>
33   * <li>longDescription</li>
34   * <li>multimedia</li>
35   * </ul>
36   */
37  public class MediaGroup {
38  
39  	/***
40  	 * Short descriptions
41  	 */
42      private List<ShortDescription> shortDescriptions;
43      
44      /***
45       * Long descriptions
46       */
47      private List<LongDescription> longDescriptions;
48      
49      /***
50       * Multimedia descriptor
51       */
52      private List<Multimedia> multimedia;
53      
54      /***
55       * Create a new media descriptor
56       */
57      public MediaGroup() {
58      	shortDescriptions = new ArrayList<ShortDescription>();
59      	longDescriptions = new ArrayList<LongDescription>();
60      	multimedia = new ArrayList<Multimedia>();
61      }
62  
63      /***
64       * @return Returns the short descriptions
65       */
66      public Collection<ShortDescription> getShortDescriptions() {
67          return shortDescriptions;
68      }
69      
70      /***
71       * Adds a short description
72       * @param shortDescription Short description to add
73       */
74      public void addShortDescription(String shortDescription) {
75      	shortDescriptions.add(new ShortDescription(shortDescription));
76      }
77      
78      /***
79       * Adds a short description
80       * @param shortDescription Short description to add
81       */
82      public void addShortDescription(ShortDescription shortDescription) {
83      	shortDescriptions.add(shortDescription);
84      }
85      
86      /***
87       * Removes a short description
88       * @param shortDescription Short description to remove
89       */
90      public void removeShortDescription(ShortDescription shortDescription) {
91      	shortDescriptions.remove(shortDescription);
92      }
93      
94      /***
95       * Clears all short descriptions
96       */
97      public void clearShortDescriptions() {
98      	shortDescriptions.clear();
99      }
100 
101     /***
102      * @return Returns the long descriptions
103      */
104     public Collection<LongDescription> getLongDescriptions() {
105         return longDescriptions;
106     }
107     
108     /***
109      * Adds a long description
110      * @param longDescription Long description to add
111      */
112     public void addLongDescription(String longDescription) {
113     	longDescriptions.add(new LongDescription(longDescription));
114     }
115     
116     /***
117      * Adds a long description
118      * @param longDescription Long description to add
119      */
120     public void addLongDescription(LongDescription longDescription) {
121     	longDescriptions.add(longDescription);
122     }
123     
124     /***
125      * Removes a long description
126      * @param longDescription Long description to remove
127      */
128     public void removeLongDescription(LongDescription longDescription) {
129     	longDescriptions.remove(longDescription);
130     }
131     
132     /***
133      * Clears all long descriptions
134      */
135     public void clearLongDescriptions() {
136     	longDescriptions.clear();
137     }
138     
139     /***
140      * Sets the multimedia descriptor
141      * @param multimedia Multimedia descriptor
142      */
143     public void addMultimedia(Multimedia item) {
144     	multimedia.add(item);
145     }
146 
147     /***
148      * @returns the Multimedia descriptors
149      */
150     public Collection<Multimedia> getMultimedia() {
151         return multimedia;
152     }
153 
154 }