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      this.mediaUri = mediaURI;
55    }
56  
57    /**
58     * @see org.opencastproject.metadata.mpeg7.MediaLocator#getMediaURI()
59     */
60    public URI getMediaURI() {
61      return mediaUri;
62    }
63  
64    /**
65     * Sets the media uri.
66     *
67     * @param mediaURI
68     *          the uri
69     */
70    public void setMediaURI(URI mediaURI) {
71      if (mediaURI == null)
72        throw new IllegalArgumentException("Argument mediaURI must not be null");
73      this.mediaUri = mediaURI;
74    }
75  
76    /**
77     * @see org.opencastproject.mediapackage.XmlElement#toXml(org.w3c.dom.Document)
78     */
79    public Node toXml(Document document) {
80      Element node = document.createElement("MediaLocator");
81      Element uriNode = document.createElement("MediaUri");
82      uriNode.setTextContent(mediaUri.toString());
83      node.appendChild(uriNode);
84      return node;
85    }
86  
87  }