18
19
20
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
55
56
57
58
59
60
61
62
63
64
65
|
#import "OFUnlockFailedException.h"
#import "OFString.h"
#import "macros.h"
@implementation OFUnlockFailedException
+ (instancetype)exceptionWithClass: (Class)class_
lock: (id <OFLocking>)lock
{
return [[[self alloc] initWithClass: class_
lock: lock] autorelease];
}
- initWithClass: (Class)class_
lock: (id <OFLocking>)lock_
{
self = [super initWithClass: class_];
lock = [lock_ retain];
return self;
}
- (void)dealloc
{
[lock release];
[super dealloc];
}
- (OFString*)description
{
if (description != nil)
return description;
description = [[OFString alloc] initWithFormat:
@"A lock of class %@ could not be unlocked in class %@!",
[(id)lock className], inClass];
return description;
}
- (id <OFLocking>)lock
{
OF_GETTER(lock, NO)
}
@end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18
19
20
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
55
56
57
58
59
60
61
62
63
64
65
|
#import "OFUnlockFailedException.h"
#import "OFString.h"
#import "macros.h"
@implementation OFUnlockFailedException
+ (instancetype)exceptionWithClass: (Class)class
lock: (id <OFLocking>)lock
{
return [[[self alloc] initWithClass: class
lock: lock] autorelease];
}
- initWithClass: (Class)class
lock: (id <OFLocking>)lock
{
self = [super initWithClass: class];
_lock = [lock retain];
return self;
}
- (void)dealloc
{
[_lock release];
[super dealloc];
}
- (OFString*)description
{
if (_description != nil)
return _description;
_description = [[OFString alloc] initWithFormat:
@"A lock of class %@ could not be unlocked in class %@!",
[_lock class], _inClass];
return _description;
}
- (id <OFLocking>)lock
{
OF_GETTER(_lock, NO)
}
@end
|