Samond Classes Library 1.2.6-STABLE build 219
SCRuntimeUnregisteredClass.h
Go to the documentation of this file.
1 //
2 // SCRuntimeUnregisteredClass.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 12.12.17.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
23 #import <Foundation/Foundation.h>
24 #import <scl/SCRuntimeMethod.h>
25 #import <scl/SCRuntimeObject.h>
28 
29 #pragma mark -
30 #pragma mark Class Constants
31 
40 #define SCRuntimeUnregisteredClassClass @"SCRuntimeUnregisteredClass"
41 
86  Class _class;
87  BOOL _registered;
88 }
89 
90 #pragma mark -
91 #pragma mark Creating and Initializing Unregistered Class
92 
96 + (instancetype)classWithName:(NSString *)name superclass:(Class)superclass;
97 + (instancetype)classWithName:(NSString *)name;
98 
99 - (instancetype)initWithName:(NSString *)name superclass:(Class)superclass;
100 - (instancetype)initWithName:(NSString *)name;
101 
102 #pragma mark -
103 #pragma mark Class Properties
104 
113 @property (nonatomic, readonly, retain) NSString *name;
114 
119 @property (nonatomic, readonly, assign) BOOL registered;
122 #pragma mark -
123 #pragma mark Comparing Unregistered Classes
124 
125 - (BOOL)isEqualToUnregisteredClass:(SCRuntimeUnregisteredClass *)class;
126 - (BOOL)isEqualToName:(NSString *)name;
127 - (BOOL)isEqualToClass:(Class)class;
128 - (BOOL)isEqual:(id)object;
129 
130 #pragma mark -
131 #pragma mark Access to Methods
132 - (NSArray *)instanceMethods;
133 - (NSArray *)classMethods;
134 - (BOOL)containsMethod:(SCRuntimeMethod *)method instance:(BOOL)instance;
135 - (BOOL)containsMethodWithSelector:(SEL)selector instance:(BOOL)instance;
136 - (BOOL)addMethod:(SCRuntimeMethod *)method instance:(BOOL)instance;
137 
138 #pragma mark -
139 #pragma mark Access to Properties
140 - (NSArray *)instanceProperties;
141 - (NSArray *)classProperties;
142 - (BOOL)containsProperty:(SCRuntimeProperty *)property instance:(BOOL)instance;
143 - (BOOL)containsPropertyWithName:(NSString *)name instance:(BOOL)instance;
144 - (BOOL)addProperty:(SCRuntimeProperty *)property instance:(BOOL)instance;
145 
146 #pragma mark -
147 #pragma mark Access to Variables
148 - (NSArray *)variables;
149 - (BOOL)containsVariable:(SCRuntimeVariable *)variable;
150 - (BOOL)containsVariableWithName:(NSString *)name;
151 - (BOOL)addVariable:(SCRuntimeVariable *)variable;
152 
153 #pragma mark -
154 #pragma mark Access to Protocols
155 - (NSArray *)protocols;
156 - (BOOL)conformsToRuntimeProtocol:(SCRuntimeProtocol *)protocol;
157 - (BOOL)conformsToProtocolWithName:(NSString *)name;
158 - (BOOL)addProtocol:(SCRuntimeProtocol *)protocol;
159 
160 #pragma mark -
161 #pragma mark Registering Class
162 - (Class)registerClass;
163 
164 @end
Representation of a class method.
Definition: SCRuntimeMethod.h:111
Class SCRuntimeVariable header file.
Class SCRuntimeProperty header file.
Representation of a protocols.
Definition: SCRuntimeProtocol.h:77
Class SCRuntimeMethod header file.
Class SCRuntimeObject header file.
Representation of a class variable.
Definition: SCRuntimeVariable.h:70
Representation of a class property.
Definition: SCRuntimeProperty.h:114
Representation of an unregistered classes.
Definition: SCRuntimeUnregisteredClass.h:85
Parent class of all library runtime classes.
Definition: SCRuntimeObject.h:53