패키지 io.realm
클래스 RealmSchema
- java.lang.Object
-
- io.realm.RealmSchema
-
public abstract class RealmSchema extends Object
Realm 스키마와 상호 작용하기 위한 클래스입니다. 이를 통해 Realm에서 클래스를 검사, 추가, 삭제 및 변경할 수 있습니다.Realm.getSchema()
은 검사에만 사용할 수 있는 변경 불가능한RealmSchema
을 반환합니다. 변경 가능한 스키마를 가져오려면DynamicRealm.getSchema()
을(를) 사용합니다.모든 변경 사항은 특정 Realm에 대한 쓰기 트랜잭션(write transaction) 내에서 발생해야 합니다.
- 다음도 참조하세요.
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에 이미 있는 클래스의 이름을 변경합니다.
-
-
-
메서드 세부 정보
-
get
@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에 저장할 수 없습니다.
-
create
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
public boolean contains(String className)
지정된 클래스가 스키마에 이미 존재하는지 확인합니다.- 매개변수:
className
- 확인할 클래스 이름입니다.- 반환합니다:
true
클래스가 이미 존재하는 경우. 그렇지 않으면false
입니다.
-
createKeyPathMapping
public void createKeyPathMapping()
기본 키 경로 매핑을 만듭니다. 유형이 지정된 Realm에서만 호출해야 합니다.
-
-