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.w3c.dom.Document;
26  import org.w3c.dom.Element;
27  import org.w3c.dom.Node;
28  
29  import java.net.URI;
30  
31  /**
32   * TODO: Comment me!
33   */
34  public class MediaLocatorImpl implements MediaLocator {
35  
36    /** The locator's media uri */
37    private URI mediaUri = null;
38  
39    /**
40     * Creates a new and empty (read: invalid) media locator.
41     */
42    public MediaLocatorImpl() {
43    }
44  
45    /**
46     * Creates a new media locator with the specified uri.
47     *
48     * @param mediaURI
49     *          the media uri
50     */
51    public MediaLocatorImpl(URI mediaURI) {
52      if (mediaURI == null) {
53        throw new IllegalArgumentException("Argument mediaURI must not be null");
54      }
55      this.mediaUri = mediaURI;
56    }
57  
58    /**
59     * @see org.opencastproject.metadata.mpeg7.MediaLocator#getMediaURI()
60     */
61    public URI getMediaURI() {
62      return mediaUri;
63    }
64  
65    /**
66     * Sets the media uri.
67     *
68     * @param mediaURI
69     *          the uri
70     */
71    public void setMediaURI(URI mediaURI) {
72      if (mediaURI == null) {
73        throw new IllegalArgumentException("Argument mediaURI must not be null");
74      }
75      this.mediaUri = mediaURI;
76    }
77  
78    /**
79     * @see org.opencastproject.mediapackage.XmlElement#toXml(org.w3c.dom.Document)
80     */
81    public Node toXml(Document document) {
82      Element node = document.createElement("MediaLocator");
83      Element uriNode = document.createElement("MediaUri");
84      uriNode.setTextContent(mediaUri.toString());
85      node.appendChild(uriNode);
86      return node;
87    }
88  
89  }