1 /*
2 * Copyright (C) 2013 4th Line GmbH, Switzerland
3 *
4 * The contents of this file are subject to the terms of either the GNU
5 * Lesser General Public License Version 2 or later ("LGPL") or the
6 * Common Development and Distribution License Version 1 or later
7 * ("CDDL") (collectively, the "License"). You may not use this file
8 * except in compliance with the License. See LICENSE.txt for more
9 * information.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 */
15
16 package org.fourthline.cling.model.message.header;
17
18 import org.fourthline.cling.model.types.DeviceType;
19
20 import java.net.URI;
21
22 /**
23 * @author Christian Bauer
24 */
25 public class DeviceTypeHeader extends UpnpHeader<DeviceType> {
26
27 public DeviceTypeHeader() {
28 }
29
30 public DeviceTypeHeader(URI uri) {
31 setString(uri.toString());
32 }
33
34 public DeviceTypeHeader(DeviceType value) {
35 setValue(value);
36 }
37
38 public void setString(String s) throws InvalidHeaderException {
39 try {
40 setValue(DeviceType.valueOf(s));
41 } catch (RuntimeException ex) {
42 throw new InvalidHeaderException("Invalid device type header value, " + ex.getMessage());
43 }
44 }
45
46 public String getString() {
47 return getValue().toString();
48 }
49 }