1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.fatwire.gst.foundation.tagging;
17
18
19
20
21
22
23
24 public final class TagUtils {
25
26 private static final String IITEM_PREFIX = "gsf-tag-";
27
28
29
30
31
32
33
34
35 public static String convertTagToCacheDepString(Tag tag) {
36 return IITEM_PREFIX + tag.getTag();
37 }
38
39
40
41
42
43
44
45
46
47 public static Tag convertCacheDepStringToTag(String cacheDepString) {
48 if (cacheDepString != null && cacheDepString.length() > IITEM_PREFIX.length()
49 && cacheDepString.startsWith(IITEM_PREFIX)) {
50 return asTag(cacheDepString.substring(IITEM_PREFIX.length() + 1));
51 }
52 return null;
53 }
54
55 public static Tag asTag(final String tagValue) {
56 return new Tag() {
57 public String getTag() {
58 return tagValue;
59 }
60
61 public String toString() {
62 return "tag:" + getTag();
63 }
64
65 @Override
66 public int hashCode() {
67 return tagValue.hashCode();
68 }
69
70 @Override
71 public boolean equals(Object o) {
72 if (o instanceof Tag) {
73 Tag t = (Tag) o;
74 return t.getTag().equals(tagValue);
75 }
76 return false;
77 }
78
79 };
80 }
81 }