Mercurial Hosting > nabble
comparison src/nabble/naml/dom/Attribute.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 package nabble.naml.dom; | |
2 | |
3 | |
4 public final class Attribute { | |
5 final String spaceBeforeName; | |
6 final String name; | |
7 final String spaceAfterName; | |
8 final String spaceBeforeValue; | |
9 final Naml value; | |
10 final char quote; | |
11 | |
12 Attribute(String spaceBeforeName,String name,String spaceAfterName,String spaceBeforeValue,Naml value,char quote) { | |
13 this.spaceBeforeName = spaceBeforeName.intern(); | |
14 this.name = name.intern(); | |
15 this.spaceAfterName = spaceAfterName.intern(); | |
16 this.spaceBeforeValue = spaceBeforeValue.intern(); | |
17 this.value = value; | |
18 this.quote = quote; | |
19 } | |
20 | |
21 public String spaceBeforeName() { | |
22 return spaceBeforeName; | |
23 } | |
24 | |
25 public String name() { | |
26 return name; | |
27 } | |
28 | |
29 public String spaceAfterName() { | |
30 return spaceAfterName; | |
31 } | |
32 | |
33 public String spaceBeforeValue() { | |
34 return spaceBeforeValue; | |
35 } | |
36 | |
37 public Naml value() { | |
38 return value; | |
39 } | |
40 | |
41 public char quote() { | |
42 return quote; | |
43 } | |
44 | |
45 public String toString(String value) { | |
46 return spaceBeforeName + name + spaceAfterName + '=' + spaceBeforeValue + quote + value + quote; | |
47 } | |
48 | |
49 public String toString() { | |
50 String s = value.toString(); | |
51 if( quote == '"' ) | |
52 s = s.replace('<','[').replace('>',']'); | |
53 return toString(s); | |
54 } | |
55 /* | |
56 @Override public boolean equals(Object obj) { | |
57 if( !(obj instanceof Attribute) ) | |
58 return false; | |
59 Attribute attr = (Attribute)obj; | |
60 return attr.name.equals(name) | |
61 && (value==null ? attr.value==null : value.equals(attr.value)); | |
62 } | |
63 | |
64 @Override public int hashCode() { | |
65 return name.hashCode() * 31 + value.hashCode(); | |
66 } | |
67 */ | |
68 } |