1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.fourthline.cling.support.model;
17
18 import org.fourthline.cling.model.types.UnsignedIntegerFourBytes;
19 import org.fourthline.cling.model.action.ActionArgumentValue;
20
21 import java.util.Map;
22
23
24
25
26 public class MediaInfo {
27
28 private String currentURI = "";
29 private String currentURIMetaData = "";
30 private String nextURI = "NOT_IMPLEMENTED";
31 private String nextURIMetaData = "NOT_IMPLEMENTED";
32
33 private UnsignedIntegerFourBytes numberOfTracks = new UnsignedIntegerFourBytes(0);
34 private String mediaDuration = "00:00:00";
35 private StorageMedium playMedium = StorageMedium.NONE;
36 private StorageMedium recordMedium = StorageMedium.NOT_IMPLEMENTED;
37 private RecordMediumWriteStatus writeStatus = RecordMediumWriteStatus.NOT_IMPLEMENTED;
38
39 public MediaInfo() {
40 }
41
42 public MediaInfo(Map<String, ActionArgumentValue> args) {
43 this(
44 (String) args.get("CurrentURI").getValue(),
45 (String) args.get("CurrentURIMetaData").getValue(),
46 (String) args.get("NextURI").getValue(),
47 (String) args.get("NextURIMetaData").getValue(),
48
49 (UnsignedIntegerFourBytes) args.get("NrTracks").getValue(),
50 (String) args.get("MediaDuration").getValue(),
51 StorageMedium.valueOrVendorSpecificOf((String) args.get("PlayMedium").getValue()),
52 StorageMedium.valueOrVendorSpecificOf((String) args.get("RecordMedium").getValue()),
53 RecordMediumWriteStatus.valueOrUnknownOf((String) args.get("WriteStatus").getValue())
54 );
55 }
56
57 public MediaInfo(String currentURI, String currentURIMetaData) {
58 this.currentURI = currentURI;
59 this.currentURIMetaData = currentURIMetaData;
60 }
61
62 public MediaInfo(String currentURI, String currentURIMetaData,
63 UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
64 StorageMedium playMedium) {
65 this.currentURI = currentURI;
66 this.currentURIMetaData = currentURIMetaData;
67 this.numberOfTracks = numberOfTracks;
68 this.mediaDuration = mediaDuration;
69 this.playMedium = playMedium;
70 }
71
72 public MediaInfo(String currentURI, String currentURIMetaData,
73 UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
74 StorageMedium playMedium,
75 StorageMedium recordMedium, RecordMediumWriteStatus writeStatus) {
76 this.currentURI = currentURI;
77 this.currentURIMetaData = currentURIMetaData;
78 this.numberOfTracks = numberOfTracks;
79 this.mediaDuration = mediaDuration;
80 this.playMedium = playMedium;
81 this.recordMedium = recordMedium;
82 this.writeStatus = writeStatus;
83 }
84
85 public MediaInfo(String currentURI, String currentURIMetaData,
86 String nextURI, String nextURIMetaData,
87 UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
88 StorageMedium playMedium) {
89 this.currentURI = currentURI;
90 this.currentURIMetaData = currentURIMetaData;
91 this.nextURI = nextURI;
92 this.nextURIMetaData = nextURIMetaData;
93 this.numberOfTracks = numberOfTracks;
94 this.mediaDuration = mediaDuration;
95 this.playMedium = playMedium;
96 }
97
98 public MediaInfo(String currentURI, String currentURIMetaData,
99 String nextURI, String nextURIMetaData,
100 UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
101 StorageMedium playMedium,
102 StorageMedium recordMedium, RecordMediumWriteStatus writeStatus) {
103 this.currentURI = currentURI;
104 this.currentURIMetaData = currentURIMetaData;
105 this.nextURI = nextURI;
106 this.nextURIMetaData = nextURIMetaData;
107 this.numberOfTracks = numberOfTracks;
108 this.mediaDuration = mediaDuration;
109 this.playMedium = playMedium;
110 this.recordMedium = recordMedium;
111 this.writeStatus = writeStatus;
112 }
113
114 public String getCurrentURI() {
115 return currentURI;
116 }
117
118 public String getCurrentURIMetaData() {
119 return currentURIMetaData;
120 }
121
122 public String getNextURI() {
123 return nextURI;
124 }
125
126 public String getNextURIMetaData() {
127 return nextURIMetaData;
128 }
129
130 public UnsignedIntegerFourBytes getNumberOfTracks() {
131 return numberOfTracks;
132 }
133
134 public String getMediaDuration() {
135 return mediaDuration;
136 }
137
138 public StorageMedium getPlayMedium() {
139 return playMedium;
140 }
141
142 public StorageMedium getRecordMedium() {
143 return recordMedium;
144 }
145
146 public RecordMediumWriteStatus getWriteStatus() {
147 return writeStatus;
148 }
149
150 }