1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.fourthline.cling.support.model.dlna.message.header;
16
17 import java.util.regex.Pattern;
18 import org.fourthline.cling.model.message.header.InvalidHeaderException;
19 import org.fourthline.cling.support.model.dlna.types.ScmsFlagType;
20
21
22
23
24 public class ScmsFlagHeader extends DLNAHeader<ScmsFlagType> {
25
26 final static Pattern pattern = Pattern.compile("^[01]{2}$", Pattern.CASE_INSENSITIVE);
27
28 public ScmsFlagHeader() {
29 }
30
31 @Override
32 public void setString(String s) throws InvalidHeaderException {
33 if (pattern.matcher(s).matches()) {
34 setValue(new ScmsFlagType(s.charAt(0) == '0', s.charAt(1) == '0'));
35 return;
36 }
37 throw new InvalidHeaderException("Invalid ScmsFlag header value: " + s);
38 }
39
40 @Override
41 public String getString() {
42 ScmsFlagType v = getValue();
43 return (v.isCopyright()?"0":"1") + (v.isOriginal()?"0":"1");
44 }
45 }