123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- ////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2014 Realm Inc.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- //
- ////////////////////////////////////////////////////////////////////////////
- import Realm
- import RealmTestSupport
- class SwiftRLMStringObject: RLMObject {
- @objc dynamic var stringCol = ""
- }
- class SwiftRLMBoolObject: RLMObject {
- @objc dynamic var boolCol = false
- }
- class SwiftRLMIntObject: RLMObject {
- @objc dynamic var intCol = 0
- }
- class SwiftRLMLongObject: RLMObject {
- @objc dynamic var longCol: Int64 = 0
- }
- class SwiftRLMObject: RLMObject {
- @objc dynamic var boolCol = false
- @objc dynamic var intCol = 123
- @objc dynamic var floatCol = 1.23 as Float
- @objc dynamic var doubleCol = 12.3
- @objc dynamic var stringCol = "a"
- @objc dynamic var binaryCol = "a".data(using: String.Encoding.utf8)
- @objc dynamic var dateCol = Date(timeIntervalSince1970: 1)
- #if SWIFT_PACKAGE
- // FIXME: we fail to check if an object property is actually optional unless
- // RealmSwift happens to be loaded in the process
- @objc dynamic var objectCol: SwiftRLMBoolObject! = SwiftRLMBoolObject()
- #else
- @objc dynamic var objectCol = SwiftRLMBoolObject()
- #endif
- @objc dynamic var arrayCol = RLMArray<SwiftRLMBoolObject>(objectClassName: SwiftRLMBoolObject.className())
- }
- class SwiftRLMOptionalObject: RLMObject {
- @objc dynamic var optStringCol: String?
- @objc dynamic var optNSStringCol: NSString?
- @objc dynamic var optBinaryCol: Data?
- @objc dynamic var optDateCol: Date?
- @objc dynamic var optObjectCol: SwiftRLMBoolObject?
- }
- class SwiftRLMPrimitiveArrayObject: RLMObject {
- @objc dynamic var stringCol = RLMArray<NSString>(objectType: .string, optional: false)
- @objc dynamic var optStringCol = RLMArray<NSObject>(objectType: .string, optional: true)
- @objc dynamic var dataCol = RLMArray<NSData>(objectType: .data, optional: false)
- @objc dynamic var optDataCol = RLMArray<NSObject>(objectType: .data, optional: true)
- @objc dynamic var dateCol = RLMArray<NSDate>(objectType: .date, optional: false)
- @objc dynamic var optDateCol = RLMArray<NSObject>(objectType: .date, optional: true)
- }
- class SwiftRLMDogObject: RLMObject {
- @objc dynamic var dogName = ""
- }
- class SwiftRLMOwnerObject: RLMObject {
- @objc dynamic var name = ""
- @objc dynamic var dog: SwiftRLMDogObject? = SwiftRLMDogObject()
- }
- class SwiftRLMAggregateObject: RLMObject {
- @objc dynamic var intCol = 0
- @objc dynamic var floatCol = 0 as Float
- @objc dynamic var doubleCol = 0.0
- @objc dynamic var boolCol = false
- @objc dynamic var dateCol = Date()
- }
- class SwiftRLMAllIntSizesObject: RLMObject {
- @objc dynamic var int8: Int8 = 0
- @objc dynamic var int16: Int16 = 0
- @objc dynamic var int32: Int32 = 0
- @objc dynamic var int64: Int64 = 0
- }
- class SwiftRLMEmployeeObject: RLMObject {
- @objc dynamic var name = ""
- @objc dynamic var age = 0
- @objc dynamic var hired = false
- }
- class SwiftRLMCompanyObject: RLMObject {
- @objc dynamic var employees = RLMArray<SwiftRLMEmployeeObject>(objectClassName: SwiftRLMEmployeeObject.className())
- }
- class SwiftRLMArrayPropertyObject: RLMObject {
- @objc dynamic var name = ""
- @objc dynamic var array = RLMArray<SwiftRLMStringObject>(objectClassName: SwiftRLMStringObject.className())
- @objc dynamic var intArray = RLMArray<SwiftRLMIntObject>(objectClassName: SwiftRLMIntObject.className())
- }
- class SwiftRLMDynamicObject: RLMObject {
- @objc dynamic var stringCol = "a"
- @objc dynamic var intCol = 0
- }
- class SwiftRLMUTF8Object: RLMObject {
- @objc dynamic var 柱колоéнǢкƱаم👍 = "值значен™👍☞⎠‱௹♣︎☐▼❒∑⨌⧭иеمرحبا"
- }
- class SwiftRLMIgnoredPropertiesObject: RLMObject {
- @objc dynamic var name = ""
- @objc dynamic var age = 0
- @objc dynamic var runtimeProperty: AnyObject?
- @objc dynamic var readOnlyProperty: Int { return 0 }
- override class func ignoredProperties() -> [String]? {
- return ["runtimeProperty"]
- }
- }
- class SwiftRLMPrimaryStringObject: RLMObject {
- @objc dynamic var stringCol = ""
- @objc dynamic var intCol = 0
- override class func primaryKey() -> String {
- return "stringCol"
- }
- }
- class SwiftRLMLinkSourceObject: RLMObject {
- @objc dynamic var id = 0
- @objc dynamic var link: SwiftRLMLinkTargetObject?
- }
- class SwiftRLMLinkTargetObject: RLMObject {
- @objc dynamic var id = 0
- @objc dynamic var backlinks: RLMLinkingObjects<SwiftRLMLinkSourceObject>?
- override class func linkingObjectsProperties() -> [String : RLMPropertyDescriptor] {
- return ["backlinks": RLMPropertyDescriptor(with: SwiftRLMLinkSourceObject.self, propertyName: "link")]
- }
- }
- class SwiftRLMLazyVarObject: RLMObject {
- @objc dynamic lazy var lazyProperty: String = "hello world"
- }
- class SwiftRLMIgnoredLazyVarObject: RLMObject {
- @objc dynamic var id = 0
- @objc dynamic lazy var ignoredVar: String = "hello world"
- override class func ignoredProperties() -> [String] { return ["ignoredVar"] }
- }
- class SwiftRLMObjectiveCTypesObject: RLMObject {
- @objc dynamic var stringCol: NSString?
- @objc dynamic var dateCol: NSDate?
- @objc dynamic var dataCol: NSData?
- @objc dynamic var numCol: NSNumber? = 0
- }
|