• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2008 CoreMedia AG, Hamburg
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.coremedia.iso.boxes;
18 
19 import com.coremedia.iso.IsoTypeReader;
20 import com.coremedia.iso.Utf8;
21 import com.googlecode.mp4parser.AbstractFullBox;
22 
23 import java.nio.ByteBuffer;
24 
25 /**
26  * Only used within the DataReferenceBox. Find more information there.
27  *
28  * @see com.coremedia.iso.boxes.DataReferenceBox
29  */
30 public class DataEntryUrnBox extends AbstractFullBox {
31     private String name;
32     private String location;
33     public static final String TYPE = "urn ";
34 
DataEntryUrnBox()35     public DataEntryUrnBox() {
36         super(TYPE);
37     }
38 
getName()39     public String getName() {
40         return name;
41     }
42 
getLocation()43     public String getLocation() {
44         return location;
45     }
46 
getContentSize()47     protected long getContentSize() {
48         return Utf8.utf8StringLengthInBytes(name) + 1 + Utf8.utf8StringLengthInBytes(location) + 1;
49     }
50 
51     @Override
_parseDetails(ByteBuffer content)52     public void _parseDetails(ByteBuffer content) {
53         name = IsoTypeReader.readString(content);
54         location = IsoTypeReader.readString(content);
55 
56     }
57 
58     @Override
getContent(ByteBuffer byteBuffer)59     protected void getContent(ByteBuffer byteBuffer) {
60         byteBuffer.put(Utf8.convert(name));
61         byteBuffer.put((byte) 0);
62         byteBuffer.put(Utf8.convert(location));
63         byteBuffer.put((byte) 0);
64     }
65 
toString()66     public String toString() {
67         return "DataEntryUrlBox[name=" + getName() + ";location=" + getLocation() + "]";
68     }
69 }
70