21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
-
+
-
+
-
+
|
#import "OFXMLComment.h"
#import "OFString.h"
#import "OFXMLElement.h"
#import "OFInvalidArgumentException.h"
@implementation OFXMLComment
+ (instancetype)commentWithString: (OFString*)string
+ (instancetype)commentWithString: (OFString *)string
{
return [[[self alloc] initWithString: string] autorelease];
}
- initWithString: (OFString*)string
- initWithString: (OFString *)string
{
self = [super init];
@try {
_comment = [string copy];
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- initWithSerialization: (OFXMLElement*)element
- initWithSerialization: (OFXMLElement *)element
{
self = [super init];
@try {
void *pool = objc_autoreleasePoolPush();
if (![[element name] isEqual: [self className]] ||
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
-
+
-
+
-
+
-
-
+
+
|
}
- (uint32_t)hash
{
return [_comment hash];
}
- (OFString*)stringValue
- (OFString *)stringValue
{
return @"";
}
- (OFString*)XMLString
- (OFString *)XMLString
{
return [OFString stringWithFormat: @"<!--%@-->", _comment];
}
- (OFString*)XMLStringWithIndentation: (unsigned int)indentation
- (OFString *)XMLStringWithIndentation: (unsigned int)indentation
{
return [OFString stringWithFormat: @"<!--%@-->", _comment];
}
- (OFString*)XMLStringWithIndentation: (unsigned int)indentation
level: (unsigned int)level
- (OFString *)XMLStringWithIndentation: (unsigned int)indentation
level: (unsigned int)level
{
OFString *ret;
if (indentation > 0 && level > 0) {
char *whitespaces = [self allocMemoryWithSize:
(level * indentation) + 1];
memset(whitespaces, ' ', level * indentation);
|
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
-
+
-
+
|
}
} else
ret = [OFString stringWithFormat: @"<!--%@-->", _comment];
return ret;
}
- (OFString*)description
- (OFString *)description
{
return [OFString stringWithFormat: @"<!--%@-->", _comment];
}
- (OFXMLElement*)XMLElementBySerializing
- (OFXMLElement *)XMLElementBySerializing
{
return [OFXMLElement elementWithName: [self className]
namespace: OF_SERIALIZATION_NS
stringValue: _comment];
}
@end
|