OSDN Git Service

CoreDataManager各クラスからAccessorを分離
[kcd/KCD.git] / KCD / BookmarkDataStore.swift
index 9e929bd..ad5f9a5 100644 (file)
@@ -8,34 +8,26 @@
 
 import Cocoa
 
-extension CoreDataIntormation {
-    static let bookmark = CoreDataIntormation("Bookmark")
-}
-extension CoreDataCore {
-    static let bookmark = CoreDataCore(.bookmark)
-}
-
-class BookmarkDataStore: CoreDataAccessor, CoreDataManager {
-    static var `default` = BookmarkDataStore(type: .reader)
+final class BookmarkDataStore: CoreDataManager {
+    
+    static let core = CoreDataCore(CoreDataConfiguration("Bookmark"))
+    
+    static let `default` = BookmarkDataStore(type: .reader)
+    
     class func oneTimeEditor() -> BookmarkDataStore {
+        
         return BookmarkDataStore(type: .editor)
     }
     
     required init(type: CoreDataManagerType) {
-        managedObjectContext =
-            type == .reader ? core.parentManagedObjectContext
-            : core.editorManagedObjectContext()
+        
+        context = BookmarkDataStore.context(for: type)
     }
+    
     deinit {
-        saveActionCore()
+        
+        save()
     }
     
-    let core = CoreDataCore.bookmark
-    var managedObjectContext: NSManagedObjectContext
-}
-
-extension BookmarkDataStore {
-    func createBookmark() -> Bookmark? {
-        return insertNewObject(for: Bookmark.entity)
-    }
+    let context: NSManagedObjectContext
 }