安装包 io.realm
RealmSchema 类
- java.lang.Object
-
- io.realm.RealmSchema
-
public abstract class RealmSchema extends Object
用于与 Realm 模式交互的类。 这样就可以检查、添加、删除和更改 Realm 中的类。Realm.getSchema()
返回一个不可变的RealmSchema
,只能用于检查。 使用DynamicRealm.getSchema()
获取可变模式。所有更改都必须在特定 Realm 的写事务中发生。
- 另请参阅:
RealmMigration
-
-
方法摘要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 boolean
contains(String className)
检查给定类是否已存在于模式中。abstract RealmObjectSchema
create(String className)
向 Realm 添加一个新类。void
createKeyPathMapping()
创建底层键路径映射。abstract RealmObjectSchema
createWithPrimaryKeyField(String className, String primaryKeyFieldName, Class<?> fieldType, FieldAttribute... attributes)
向 Realm 添加一个新类,并定义主键字段。abstract RealmObjectSchema
get(String className)
返回给定类的RealmObjectSchema
。abstract Set<RealmObjectSchema>
getAll()
返回可保存在此 Realm 中的所有 RealmObject 类的RealmObjectSchema
。abstract void
remove(String className)
从 Realm 中删除类。abstract RealmObjectSchema
rename(String oldClassName, String newClassName)
重命名 Realm 中已有的类。
-
-
-
方法详细信息
-
获取
@Nullable public abstract RealmObjectSchema get(String className)
返回给定类的RealmObjectSchema
。 如果此RealmSchema
不可变,则返回不可变的RealmObjectSchema
。 否则,返回一个可变的RealmObjectSchema
。- 参数:
className
- 类名- 返回:
- 该类的模式对象,如果该类不存在,则为
null
。
-
getAll
public abstract Set<RealmObjectSchema> getAll()
返回可保存在此 Realm 中的所有 RealmObject 类的RealmObjectSchema
。 如果此RealmSchema
不可变,则返回不可变的RealmObjectSchema
集。 否则,它将返回一个可变的RealmObjectSchema
集。- 返回:
- 此 Realm 中所有类的集合,或者没有 RealmObject 类可以保存在 Realm 中。
-
创建
public abstract RealmObjectSchema create(String className)
向 Realm 添加一个新类。- 参数:
className
- 类的名称。- 返回:
- 该类的 Realm 模式对象。
- 抛出异常:
UnsupportedOperationException
- 如果此RealmSchema
不可变。
-
createWithPrimaryKeyField
public abstract RealmObjectSchema createWithPrimaryKeyField(String className, String primaryKeyFieldName, Class<?> fieldType, FieldAttribute... attributes)
向 Realm 添加一个新类,并定义主键字段。- 参数:
className
- 类的名称。primaryKeyFieldName
— 主键字段的名称。fieldType
— 要添加的字段类型。 仅支持byte
、short
、int
、long
及其装箱类型或String
。attributes
— 此字段的属性集。此方法隐式向字段添加FieldAttribute.PRIMARY_KEY
和FieldAttribute.INDEXED
属性。- 返回:
- 该类的 Realm 模式对象。
- 抛出异常:
UnsupportedOperationException
- 如果此RealmSchema
不可变。
-
删除
public abstract void remove(String className)
从 Realm 中删除类。 所有数据都将被删除。 当其他类指向某个类时,删除该类会抛出IllegalStateException
。 首先删除这些类或字段。- 参数:
className
- 要删除的类的名称。- 抛出异常:
UnsupportedOperationException
- 如果此RealmSchema
不可变或属于同步 Realm。
-
改名
public abstract RealmObjectSchema rename(String oldClassName, String newClassName)
重命名 Realm 中已有的类。- 参数:
oldClassName
— 旧类名。newClassName
— 新类名。- 返回:
- 重命名的类的模式对象。
- 抛出异常:
UnsupportedOperationException
- 如果此RealmSchema
不可变或属于同步 Realm。
-
contains
公共布尔包含(字符串类名)
检查给定类是否已存在于模式中。- 参数:
className
— 要检查的类名。- 返回:
true
如果该类已经存在。 否则false
。
-
createKeyPathMapping
public void createKeyPathMapping()
创建底层键路径映射。 只能由类型化 Realm 调用。
-
-