Create explicit classes for entities

This commit is contained in:
Matthias Neeracher 2011-08-10 16:22:22 +02:00
parent fc92c655e9
commit 7c64c928bf
12 changed files with 267 additions and 5 deletions

View File

@ -17,6 +17,11 @@
950BB68713F1F26200D8E669 /* MADocument.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 950BB68513F1F26200D8E669 /* MADocument.xcdatamodeld */; }; 950BB68713F1F26200D8E669 /* MADocument.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 950BB68513F1F26200D8E669 /* MADocument.xcdatamodeld */; };
950BB68F13F1F29D00D8E669 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 950BB68D13F1F29D00D8E669 /* CoreData.framework */; }; 950BB68F13F1F29D00D8E669 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 950BB68D13F1F29D00D8E669 /* CoreData.framework */; };
950BB69013F1F29D00D8E669 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 950BB68E13F1F29D00D8E669 /* QTKit.framework */; }; 950BB69013F1F29D00D8E669 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 950BB68E13F1F29D00D8E669 /* QTKit.framework */; };
950BB69713F2C6B300D8E669 /* MAFolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 950BB69613F2C6B300D8E669 /* MAFolder.m */; };
950BB69A13F2C6B400D8E669 /* MATag.m in Sources */ = {isa = PBXBuildFile; fileRef = 950BB69913F2C6B400D8E669 /* MATag.m */; };
950BB69D13F2C6B400D8E669 /* MAAnno.m in Sources */ = {isa = PBXBuildFile; fileRef = 950BB69C13F2C6B400D8E669 /* MAAnno.m */; };
950BB6A013F2C6B400D8E669 /* MAMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 950BB69F13F2C6B400D8E669 /* MAMedia.m */; };
950BB6A313F2C6B400D8E669 /* MATagDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 950BB6A213F2C6B400D8E669 /* MATagDescription.m */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@ -34,6 +39,16 @@
950BB68613F1F26200D8E669 /* MADocument.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MADocument.xcdatamodel; sourceTree = "<group>"; }; 950BB68613F1F26200D8E669 /* MADocument.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MADocument.xcdatamodel; sourceTree = "<group>"; };
950BB68D13F1F29D00D8E669 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; 950BB68D13F1F29D00D8E669 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
950BB68E13F1F29D00D8E669 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 950BB68E13F1F29D00D8E669 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
950BB69513F2C6B300D8E669 /* MAFolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAFolder.h; sourceTree = "<group>"; };
950BB69613F2C6B300D8E669 /* MAFolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MAFolder.m; sourceTree = "<group>"; };
950BB69813F2C6B400D8E669 /* MATag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MATag.h; sourceTree = "<group>"; };
950BB69913F2C6B400D8E669 /* MATag.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MATag.m; sourceTree = "<group>"; };
950BB69B13F2C6B400D8E669 /* MAAnno.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAAnno.h; sourceTree = "<group>"; };
950BB69C13F2C6B400D8E669 /* MAAnno.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MAAnno.m; sourceTree = "<group>"; };
950BB69E13F2C6B400D8E669 /* MAMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAMedia.h; sourceTree = "<group>"; };
950BB69F13F2C6B400D8E669 /* MAMedia.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MAMedia.m; sourceTree = "<group>"; };
950BB6A113F2C6B400D8E669 /* MATagDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MATagDescription.h; sourceTree = "<group>"; };
950BB6A213F2C6B400D8E669 /* MATagDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MATagDescription.m; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -82,6 +97,16 @@
children = ( children = (
950BB67C13F1F26200D8E669 /* MADocument.h */, 950BB67C13F1F26200D8E669 /* MADocument.h */,
950BB67D13F1F26200D8E669 /* MADocument.m */, 950BB67D13F1F26200D8E669 /* MADocument.m */,
950BB6A113F2C6B400D8E669 /* MATagDescription.h */,
950BB6A213F2C6B400D8E669 /* MATagDescription.m */,
950BB69E13F2C6B400D8E669 /* MAMedia.h */,
950BB69F13F2C6B400D8E669 /* MAMedia.m */,
950BB69B13F2C6B400D8E669 /* MAAnno.h */,
950BB69C13F2C6B400D8E669 /* MAAnno.m */,
950BB69813F2C6B400D8E669 /* MATag.h */,
950BB69913F2C6B400D8E669 /* MATag.m */,
950BB69513F2C6B300D8E669 /* MAFolder.h */,
950BB69613F2C6B300D8E669 /* MAFolder.m */,
950BB67F13F1F26200D8E669 /* MADocument.xib */, 950BB67F13F1F26200D8E669 /* MADocument.xib */,
950BB68213F1F26200D8E669 /* MainMenu.xib */, 950BB68213F1F26200D8E669 /* MainMenu.xib */,
950BB68513F1F26200D8E669 /* MADocument.xcdatamodeld */, 950BB68513F1F26200D8E669 /* MADocument.xcdatamodeld */,
@ -169,6 +194,11 @@
950BB67713F1F26200D8E669 /* main.m in Sources */, 950BB67713F1F26200D8E669 /* main.m in Sources */,
950BB67E13F1F26200D8E669 /* MADocument.m in Sources */, 950BB67E13F1F26200D8E669 /* MADocument.m in Sources */,
950BB68713F1F26200D8E669 /* MADocument.xcdatamodeld in Sources */, 950BB68713F1F26200D8E669 /* MADocument.xcdatamodeld in Sources */,
950BB69713F2C6B300D8E669 /* MAFolder.m in Sources */,
950BB69A13F2C6B400D8E669 /* MATag.m in Sources */,
950BB69D13F2C6B400D8E669 /* MAAnno.m in Sources */,
950BB6A013F2C6B400D8E669 /* MAMedia.m in Sources */,
950BB6A313F2C6B400D8E669 /* MATagDescription.m in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

29
Medianno/MAAnno.h Normal file
View File

@ -0,0 +1,29 @@
//
// MAAnno.h
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class MATag;
@interface MAAnno : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * location;
@property (nonatomic, retain) NSString * notes;
@property (nonatomic, retain) NSSet *tags;
@property (nonatomic, retain) NSManagedObject *media;
@end
@interface MAAnno (CoreDataGeneratedAccessors)
- (void)addTagsObject:(MATag *)value;
- (void)removeTagsObject:(MATag *)value;
- (void)addTags:(NSSet *)values;
- (void)removeTags:(NSSet *)values;
@end

19
Medianno/MAAnno.m Normal file
View File

@ -0,0 +1,19 @@
//
// MAAnno.m
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import "MAAnno.h"
#import "MATag.h"
@implementation MAAnno
@dynamic location;
@dynamic notes;
@dynamic tags;
@dynamic media;
@end

View File

@ -1,29 +1,29 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model name="" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="562" systemVersion="11A511" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic"> <model name="" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="562" systemVersion="11A511" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic">
<entity name="MAAnno"> <entity name="MAAnno" representedClassName="MAAnno">
<attribute name="location" optional="YES" attributeType="String"/> <attribute name="location" optional="YES" attributeType="String"/>
<attribute name="notes" optional="YES" attributeType="String"/> <attribute name="notes" optional="YES" attributeType="String"/>
<relationship name="media" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAMedia" inverseName="annotations" inverseEntity="MAMedia"/> <relationship name="media" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAMedia" inverseName="annotations" inverseEntity="MAMedia"/>
<relationship name="tags" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MATag" inverseName="annotation" inverseEntity="MATag"/> <relationship name="tags" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MATag" inverseName="annotation" inverseEntity="MATag"/>
</entity> </entity>
<entity name="MAFolder"> <entity name="MAFolder" representedClassName="MAFolder">
<attribute name="name" optional="YES" attributeType="String"/> <attribute name="name" optional="YES" attributeType="String"/>
<relationship name="children" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MAFolder" inverseName="parent" inverseEntity="MAFolder"/> <relationship name="children" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MAFolder" inverseName="parent" inverseEntity="MAFolder"/>
<relationship name="contents" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MAMedia" inverseName="folder" inverseEntity="MAMedia"/> <relationship name="contents" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MAMedia" inverseName="folder" inverseEntity="MAMedia"/>
<relationship name="parent" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAFolder" inverseName="children" inverseEntity="MAFolder"/> <relationship name="parent" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAFolder" inverseName="children" inverseEntity="MAFolder"/>
</entity> </entity>
<entity name="MAMedia"> <entity name="MAMedia" representedClassName="MAMedia">
<attribute name="date" optional="YES" attributeType="Date"/> <attribute name="date" optional="YES" attributeType="Date"/>
<attribute name="media" optional="YES" attributeType="String"/> <attribute name="media" optional="YES" attributeType="String"/>
<attribute name="notes" optional="YES" attributeType="String"/> <attribute name="notes" optional="YES" attributeType="String"/>
<relationship name="annotations" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MAAnno" inverseName="media" inverseEntity="MAAnno"/> <relationship name="annotations" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MAAnno" inverseName="media" inverseEntity="MAAnno"/>
<relationship name="folder" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAFolder" inverseName="contents" inverseEntity="MAFolder"/> <relationship name="folder" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAFolder" inverseName="contents" inverseEntity="MAFolder"/>
</entity> </entity>
<entity name="MATag"> <entity name="MATag" representedClassName="MATag">
<relationship name="annotation" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAAnno" inverseName="tags" inverseEntity="MAAnno"/> <relationship name="annotation" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MAAnno" inverseName="tags" inverseEntity="MAAnno"/>
<relationship name="tag" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MATagDescription" inverseName="uses" inverseEntity="MATagDescription"/> <relationship name="tag" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="MATagDescription" inverseName="uses" inverseEntity="MATagDescription"/>
</entity> </entity>
<entity name="MATagDescription"> <entity name="MATagDescription" representedClassName="MATagDescription">
<attribute name="name" optional="YES" attributeType="String"/> <attribute name="name" optional="YES" attributeType="String"/>
<attribute name="notes" optional="YES" attributeType="String"/> <attribute name="notes" optional="YES" attributeType="String"/>
<relationship name="uses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MATag" inverseName="tag" inverseEntity="MATag"/> <relationship name="uses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MATag" inverseName="tag" inverseEntity="MATag"/>

33
Medianno/MAFolder.h Normal file
View File

@ -0,0 +1,33 @@
//
// MAFolder.h
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class MAFolder;
@interface MAFolder : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) MAFolder *parent;
@property (nonatomic, retain) NSSet *children;
@property (nonatomic, retain) NSSet *contents;
@end
@interface MAFolder (CoreDataGeneratedAccessors)
- (void)addChildrenObject:(MAFolder *)value;
- (void)removeChildrenObject:(MAFolder *)value;
- (void)addChildren:(NSSet *)values;
- (void)removeChildren:(NSSet *)values;
- (void)addContentsObject:(NSManagedObject *)value;
- (void)removeContentsObject:(NSManagedObject *)value;
- (void)addContents:(NSSet *)values;
- (void)removeContents:(NSSet *)values;
@end

19
Medianno/MAFolder.m Normal file
View File

@ -0,0 +1,19 @@
//
// MAFolder.m
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import "MAFolder.h"
#import "MAFolder.h"
@implementation MAFolder
@dynamic name;
@dynamic parent;
@dynamic children;
@dynamic contents;
@end

30
Medianno/MAMedia.h Normal file
View File

@ -0,0 +1,30 @@
//
// MAMedia.h
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class MAAnno, MAFolder;
@interface MAMedia : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * media;
@property (nonatomic) NSTimeInterval date;
@property (nonatomic, retain) NSString * notes;
@property (nonatomic, retain) NSSet *annotations;
@property (nonatomic, retain) MAFolder *folder;
@end
@interface MAMedia (CoreDataGeneratedAccessors)
- (void)addAnnotationsObject:(MAAnno *)value;
- (void)removeAnnotationsObject:(MAAnno *)value;
- (void)addAnnotations:(NSSet *)values;
- (void)removeAnnotations:(NSSet *)values;
@end

21
Medianno/MAMedia.m Normal file
View File

@ -0,0 +1,21 @@
//
// MAMedia.m
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import "MAMedia.h"
#import "MAAnno.h"
#import "MAFolder.h"
@implementation MAMedia
@dynamic media;
@dynamic date;
@dynamic notes;
@dynamic annotations;
@dynamic folder;
@end

19
Medianno/MATag.h Normal file
View File

@ -0,0 +1,19 @@
//
// MATag.h
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface MATag : NSManagedObject {
@private
}
@property (nonatomic, retain) NSManagedObject *tag;
@property (nonatomic, retain) NSManagedObject *annotation;
@end

16
Medianno/MATag.m Normal file
View File

@ -0,0 +1,16 @@
//
// MATag.m
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import "MATag.h"
@implementation MATag
@dynamic tag;
@dynamic annotation;
@end

View File

@ -0,0 +1,28 @@
//
// MATagDescription.h
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class MATag;
@interface MATagDescription : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * notes;
@property (nonatomic, retain) NSSet *uses;
@end
@interface MATagDescription (CoreDataGeneratedAccessors)
- (void)addUsesObject:(MATag *)value;
- (void)removeUsesObject:(MATag *)value;
- (void)addUses:(NSSet *)values;
- (void)removeUses:(NSSet *)values;
@end

View File

@ -0,0 +1,18 @@
//
// MATagDescription.m
// Medianno
//
// Created by Matthias Neeracher on 8/10/11.
// Copyright (c) 2011 Apple Computer. All rights reserved.
//
#import "MATagDescription.h"
#import "MATag.h"
@implementation MATagDescription
@dynamic name;
@dynamic notes;
@dynamic uses;
@end