2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.upnpcontrol.internal.queue;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
20 * @author Mark Herwege - Initial contribution
23 public class UpnpEntryRes {
25 private String protocolInfo;
26 private @Nullable Long size;
27 private String duration;
28 private String importUri;
29 private String res = "";
31 public UpnpEntryRes(@Nullable String protocolInfo, @Nullable Long size, @Nullable String duration,
32 @Nullable String importUri) {
33 // According to the UPnP standard, res should always contain protocolInfo. Some devices do not respect this
34 // standard in their AVTransport implementation. To avoid null pointer exceptions, take care of this special
36 this.protocolInfo = (protocolInfo == null) ? "*" : protocolInfo.trim();
38 this.duration = (duration == null) ? "" : duration.trim();
39 this.importUri = (importUri == null) ? "" : importUri.trim();
45 public String getRes() {
50 * @param res the res to set
52 public void setRes(String res) {
53 this.res = res.trim();
56 public String getProtocolInfo() {
63 public @Nullable Long getSize() {
68 * @return the duration
70 public String getDuration() {
75 * @return the importUri
77 public String getImportUri() {
82 * @return true if this resource defines a thumbnail as specified in the DLNA specs
84 public boolean isThumbnailRes() {
85 return getProtocolInfo().toLowerCase().contains("dlna.org_pn=jpeg_tn");