Skip to content
Browse files

Allow a forced custom base class to be specified in the Entity userInfo

  • Loading branch information...
1 parent 1e081a4 commit 80669a41adf993dcee274d562c59ce36c97b1171 @protocool protocool committed
Showing with 8 additions and 2 deletions.
  1. +1 −0 mogenerator.h
  2. +7 −2 mogenerator.m
View
1 mogenerator.h
@@ -23,6 +23,7 @@
@interface NSEntityDescription (customBaseClass)
- (BOOL)hasCustomSuperentity;
- (NSString*)customSuperentity;
+- (NSString*)forcedCustomBaseClass;
- (void)_processPredicate:(NSPredicate*)predicate_ bindings:(NSMutableArray*)bindings_;
- (NSArray*)prettyFetchRequests;
@end
View
9 mogenerator.m
@@ -67,7 +67,8 @@ - (BOOL)hasCustomSuperentity {
}
}
- (NSString*)customSuperentity {
- if(!gCustomBaseClassForced) {
+ NSString *forcedBaseClass = [self forcedCustomBaseClass];
+ if(!forcedBaseClass) {
NSEntityDescription *superentity = [self superentity];
if (superentity) {
return [superentity managedObjectClassName];
@@ -75,9 +76,13 @@ - (NSString*)customSuperentity {
return gCustomBaseClass ? gCustomBaseClass : @"NSManagedObject";
}
} else {
- return gCustomBaseClassForced;
+ return forcedBaseClass;
}
}
+- (NSString*)forcedCustomBaseClass {
+ NSString* userInfoCustomBaseClass = [[self userInfo] objectForKey:@"mogenerator.customBaseClass"];
+ return userInfoCustomBaseClass ? userInfoCustomBaseClass : gCustomBaseClassForced;
+}
/** @TypeInfo NSAttributeDescription */
- (NSArray*)noninheritedAttributes {
NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];

0 comments on commit 80669a4

Please sign in to comment.
Something went wrong with that request. Please try again.