Docs Menu
Docs Home
/ /
io.realm

클래스 RealmObjectSchema

java.lang.Object
io.realm.RealmObjectSchema

주어진 RealmObject 클래스의 스키마 와 상호 작용하기 위한 클래스입니다. 이렇게 하면 지정된 클래스의 필드를 검사, 추가, 삭제 또는 변경할 수 있습니다. 이 RealmObjectSchema 가 변경 불가능한 RealmSchema 에서 검색되면 이 RealmObjectSchema 도 변경되지 않습니다.

  • io.realm.RealmMigration

수정자 및 유형
클래스 및 설명

public static interface

수정자 및 유형
메서드 및 설명

public abstract RealmObjectSchema

RealmObject 클래스에 새로운 간단한 필드를 추가합니다.

public abstract RealmObjectSchema

String fieldName
)

지정된 필드에 인덱스를 추가합니다.

public abstract RealmObjectSchema

String fieldName
)

지정된 필드에 기본 키를 추가합니다.

public abstract RealmObjectSchema

기본 값으로 RealmDictionary 를 참고하는 새 필드를 추가합니다.

public abstract RealmObjectSchema

다른 Realm 모델 클래스에 대한 참고와 함께 RealmDictionary 가 포함된 새 필드를 추가합니다.

public abstract RealmObjectSchema

String fieldName,
java.lang.Class<?> primitiveType
)

기본 값이 있는 RealmList 를 참고하는 새 필드를 추가합니다.

public abstract RealmObjectSchema

String fieldName,
RealmObjectSchema objectSchema
)

다른 Realm 모델 클래스에 대한 참고가 있는 RealmList 를 포함하는 새 필드를 추가합니다.

public abstract RealmObjectSchema

다른 RealmObject 를 참고하는 새 필드를 추가합니다.

public abstract RealmObjectSchema

String fieldName,
java.lang.Class<?> primitiveType
)

기본 값이 있는 RealmSet 를 참고하는 새 필드를 추가합니다.

public abstract RealmObjectSchema

String fieldName,
RealmObjectSchema objectSchema
)

다른 Realm 모델 클래스에 대한 참고가 있는 RealmSet 를 포함하는 새 필드를 추가합니다.

공개 문자열

이 스키마가 나타내는 RealmObject 클래스의 이름을 반환합니다.

공개 세트

이 클래스의 모든 필드를 반환합니다.

String fieldName
)

이 필드를 나타내기 위해 기본 storage engine에서 사용하는 유형을 반환합니다.

공개 문자열

기본 키 필드의 이름을 반환합니다.

공개 부울

String fieldName
)

클래스에 지정된 이름으로 정의된 필드가 있는지 테스트합니다.

공개 부울

String fieldName
)

지정된 필드에 정의된 인덱스가 있는지 확인합니다.

공개 부울

클래스에 기본 키가 정의되어 있는지 확인합니다.

공개 부울

이 유형의 객체가 '포함된' 것으로 간주되면 true 을 반환합니다.

공개 부울

String fieldName
)

지정된 필드가 null을 허용하는지, 즉 null 값을 포함할 수 있는지 확인합니다.

공개 부울

String fieldName
)

지정된 필드가 기본 키 필드인지 확인합니다.

공개 부울

String fieldName
)

지정된 필드가 필수인지, 즉 null 값을 포함할 수 없는지 확인합니다.

public abstract RealmObjectSchema

String fieldName
)

클래스에서 필드를 제거합니다.

public abstract RealmObjectSchema

String fieldName
)

지정된 필드에서 인덱스를 제거합니다.

public abstract RealmObjectSchema

이 클래스에서 프라이머리 키를 제거합니다.

public abstract RealmObjectSchema

String currentFieldName,
String newFieldName
)

필드 이름을 한 이름에서 다른 이름으로 바꿉니다.

public abstract RealmObjectSchema

String className
)

이 RealmObject 클래스에 새 이름을 설정합니다.

public void

boolean embedded
)

클래스를 포함할지 여부를 변환합니다.

public abstract RealmObjectSchema

String fieldName,
boolean nullable
)

필드를 null 허용으로 설정합니다(즉, null 값을 보유할 수 있어야 함).

public abstract RealmObjectSchema

String fieldName,
boolean required
)

필드를 필수로 설정합니다(예: null 값을 보유할 수 없음).

public abstract RealmObjectSchema

현재 클래스의 각 RealmObject 인스턴스에 대해 변환 함수를 실행합니다.

  • 클래스 java.lang.Object에서 상속된 메서드: getClass , hashCode , equals , clone , toString , notify , notifyAll , wait , wait , wait , finalize

public abstract RealmObjectSchema addField (
String fieldName,
)

RealmObject 클래스에 새로운 간단한 필드를 추가합니다. 유형은 Realm에서 지원하는 유형이어야 합니다. 지원되는 유형 목록은 RealmObject 를 참조하세요. 필드에서 값을 null 허용해야 하는 경우 대신 박스형 유형을 대신Integer.class int.class사용합니다.

다른 RealmObjects 또는 RealmLists를 참조하는 필드를 추가하려면 addRealmObjectField(string, RealmObjectSchema) 또는 addRealmListField(string, RealmObjectSchema)를 대신 사용합니다.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • fieldType - 추가할 필드 유형입니다. 전체 목록은 RealmObject 를 참조하세요.

  • attributes - 이 필드에 대한 속성 세트입니다.

반환

업데이트된 스키마.

스로우

public abstract RealmObjectSchema addIndex (
String fieldName
)

지정된 필드에 인덱스를 추가합니다. 이는 필드에 io.realm.annotations.Index 주석을 추가하는 것과 같습니다.

매개변수

  • fieldName - 인덱스를 추가할 필드입니다.

반환

업데이트된 스키마.

스로우

String fieldName
)

지정된 필드에 기본 키를 추가합니다. 이는 필드에 io.realm.annotations.PrimaryKey 주석을 추가하는 것과 동일합니다. 또한, 필드에 io.realm.annotations.Index 주석도 암시적으로 추가됩니다.

매개변수

  • fieldName - 프라이머리 키로 설정할 필드입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
java.lang.Class<?> primitiveType
)

기본 값으로 RealmDictionary 를 참고하는 새 필드를 추가합니다. 지원되는 유형 목록은 RealmObject 를 참조하세요.

요소의 null 허용 여부는 올바른 클래스(예: int.class 대신 Integer.class)를 사용하여 정의됩니다. 또는 setRequired(string, boolean)를 사용할 수 있습니다.

예시:

// Defines the dictionary of Strings as being non null.
RealmObjectSchema schema = schema.create("Person")
.addRealmDictionaryField("parentAndChild", String.class)
.setRequired("parentAndChild", true)

목록에 다른 Realm 클래스에 대한 참조가 포함되어 있으면 대신 addRealmDictionaryField(string, RealmObjectSchema)를 사용하세요.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • primitiveType - 배열에 있는 요소의 단순 유형입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
RealmObjectSchema objectSchema
)

다른 Realm 모델 클래스에 대한 참고와 함께 RealmDictionary 가 포함된 새 필드를 추가합니다.

사전에 기본 유형이 포함된 경우 대신 addRealmDictionaryField(string, Class)를 사용하세요.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • objectSchema - 참고하는 Realm 유형에 대한 스키마입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
java.lang.Class<?> primitiveType
)

기본 값이 있는 RealmList 를 참고하는 새 필드를 추가합니다. 지원되는 유형 목록은 RealmObject 를 참조하세요.

요소의 null 허용 여부는 올바른 클래스(예: int.class 대신 Integer.class)를 사용하여 정의됩니다. 또는 setRequired(string, boolean)를 사용할 수 있습니다.

예시:

// Defines the list of Strings as being non null.
RealmObjectSchema schema = schema.create("Person")
.addRealmListField("children", String.class)
.setRequired("children", true)

목록에 다른 Realm 클래스에 대한 참조가 포함되어 있으면 대신 addRealmListField(string, RealmObjectSchema)를 사용하세요.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • primitiveType - 배열에 있는 요소의 단순 유형입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
RealmObjectSchema objectSchema
)

다른 Realm 모델 클래스에 대한 참고가 있는 RealmList 를 포함하는 새 필드를 추가합니다.

목록에 기본 유형이 포함된 경우 대신 addRealmListField(string, Class)를 사용하세요.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • objectSchema - 참고하는 Realm 유형에 대한 스키마입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
RealmObjectSchema objectSchema
)

다른 RealmObject 를 참고하는 새 필드를 추가합니다.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • objectSchema - 참고하는 Realm 유형에 대한 스키마입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
java.lang.Class<?> primitiveType
)

기본 값이 있는 RealmSet 를 참고하는 새 필드를 추가합니다. 지원되는 유형 목록은 RealmObject 를 참조하세요.

요소의 null 허용 여부는 올바른 클래스(예: int.class 대신 Integer.class)를 사용하여 정의됩니다. 또는 setRequired(string, boolean)를 사용할 수 있습니다.

예시:

// Defines the set of Strings as being non null.
RealmObjectSchema schema = schema.create("Person")
.addRealmSetField("children", String.class)
.setRequired("children", true)

목록에 다른 Realm 클래스에 대한 참조가 포함되어 있으면 대신 addRealmSetField(string, RealmObjectSchema)를 사용하세요.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • primitiveType - 배열에 있는 요소의 단순 유형입니다.

반환

업데이트된 스키마.

스로우

String fieldName,
RealmObjectSchema objectSchema
)

다른 Realm 모델 클래스에 대한 참고가 있는 RealmSet 를 포함하는 새 필드를 추가합니다.

설정하다 에 기본 유형이 포함된 경우 대신 addRealmSetField(string, Class)를 사용하세요.

매개변수

  • fieldName - 추가할 필드의 이름입니다.

  • objectSchema - 참고하는 Realm 유형에 대한 스키마입니다.

반환

업데이트된 스키마.

스로우

이 스키마가 나타내는 RealmObject 클래스의 이름을 반환합니다.

  • 일반 Realm 을 사용할 때 이 이름은 RealmObject 클래스와 동일합니다.

  • DynamicRealm 을 사용할 때 이 이름은 클래스 이름이 필요한 모든 API 메서드에서 사용되는 이름입니다.

반환

이 스키마가 나타내는 RealmObject 클래스의 이름입니다.

스로우

  • 불법적인 상태 예외 - 이 스키마 정의가 더 이상 Realm 의 일부가 아닌 경우.

public Set getFieldNames ()

이 클래스의 모든 필드를 반환합니다.

반환

이 클래스에 있는 모든 필드의 목록입니다.

이 필드를 나타내기 위해 기본 storage engine에서 사용하는 유형을 반환합니다.

매개변수

  • fieldName - 대상 필드의 이름입니다.

반환

Realm에서 이 필드를 나타내는 데 사용하는 기본 유형입니다.

기본 키 필드의 이름을 반환합니다.

반환

기본 키 필드의 이름입니다.

스로우

public boolean hasField (
String fieldName
)

클래스에 지정된 이름으로 정의된 필드가 있는지 테스트합니다.

매개변수

  • fieldName - 테스트할 필드 이름입니다.

반환

true 필드가 존재하면 false 를 반환합니다.

public boolean hasIndex (
String fieldName
)

지정된 필드에 정의된 인덱스가 있는지 확인합니다.

매개변수

  • fieldName - 확인할 기존 필드 이름입니다.

반환

true 필드가 인덱싱되면 false , 그렇지 않으면 입니다.

스로우

public boolean hasPrimaryKey ()

클래스에 기본 키가 정의되어 있는지 확인합니다.

반환

true 기본 키가 정의되어 있으면 false , 그렇지 않으면

public boolean isEmbedded ()

이 유형의 객체가 '포함된' 것으로 간주되면 true 을 반환합니다. 자세한 내용은 RealmClass.embedded() 를 참조하세요.

반환

true 이 유형의 객체가 포함된 경우. 그렇지 않은 경우 false .

public boolean isNullable (
String fieldName
)

지정된 필드가 null을 허용하는지, 즉 null 값을 포함할 수 있는지 확인합니다.

매개변수

  • fieldName - 확인할 필드입니다.

반환

true 필요하면 false , 그렇지 않으면 .

스로우

public boolean isPrimaryKey (
String fieldName
)

지정된 필드가 기본 키 필드인지 확인합니다.

매개변수

  • fieldName - 확인할 필드입니다.

반환

true 기본 키 필드인 경우 그렇지 않으면 false 를 반환합니다.

스로우

public boolean isRequired (
String fieldName
)

지정된 필드가 필수인지, 즉 null 값을 포함할 수 없는지 확인합니다.

매개변수

  • fieldName - 확인할 필드입니다.

반환

true 필요하면 false , 그렇지 않으면 .

스로우

public abstract RealmObjectSchema removeField (
String fieldName
)

클래스에서 필드를 제거합니다.

매개변수

  • fieldName - 제거할 필드 이름입니다.

반환

업데이트된 스키마.

스로우

public abstract RealmObjectSchema removeIndex (
String fieldName
)

지정된 필드에서 인덱스를 제거합니다. 이는 필드에서 @Index 주석을 제거하는 것과 동일합니다.

매개변수

  • fieldName - 인덱스를 제거할 필드입니다.

반환

업데이트된 스키마.

스로우

이 클래스에서 기본 키를 제거합니다. 이는 클래스에서 io.realm.annotations.PrimaryKey 주석을 제거하는 것과 동일합니다. 또한, 이는 필드에서 io.realm.annotations.Index 주석도 암시적으로 제거합니다.

반환

업데이트된 스키마.

스로우

public abstract RealmObjectSchema renameField (
String currentFieldName,
String newFieldName
)

필드 이름을 한 이름에서 다른 이름으로 바꿉니다.

매개변수

  • currentFieldName - 이름을 바꿀 필드 이름입니다.

  • newFieldName - 새 필드 이름입니다.

반환

업데이트된 스키마.

스로우

String className
)

이 RealmObject 클래스에 새 이름을 설정합니다. 이는 이름을 바꾸는 것과 같습니다.

매개변수

  • className - 이 클래스의 새 이름입니다.

스로우

public void setEmbedded (
boolean embedded
)

클래스를 포함할 클래스로 변환합니다.

  • 클래스에는 기본 키가 정의되어 있을 수 없습니다.

  • 이 유형의 모든 기존 객체에는 이미 해당 상위 객체 를 가리키는 정확히 하나의 상위 객체가 있어야 합니다. 개 0 이상의 1 객체 에 개의 참조가 포함된 것으로 표시될 객체 에 대한 참조가 포함된 경우 불법적인 상태 예외가 발생합니다.

스로우

public abstract RealmObjectSchema setNullable (
String fieldName,
boolean nullable
)

필드를 null 허용으로 설정합니다(즉, null 값을 보유할 수 있어야 함). 이는 기본 유형과 해당 박스형 변형(예: int 에서 Integer ) 간에 전환하는 것과 같습니다.

지정된 필드의 유형이 값 목록( RealmObject 가 아닌 경우, 지정된 null 허용 여부는 필드 자체에는 영향을 주지 않고 해당 요소에만 영향을 미칩니다. 값 목록 자체는 항상 null을 허용하지 않습니다.

매개변수

  • fieldName - 클래스의 필드 이름입니다.

  • nullable - 필드가 null을 허용해야 하면 true , 그렇지 않으면 false 입니다.

반환

업데이트된 스키마.

스로우

public abstract RealmObjectSchema setRequired (
String fieldName,
boolean required
)

필드를 필수로 설정합니다(예: null 값을 보유할 수 없음). 이는 박스형 유형과 해당 기본 변형(예: Integer 에서 int ) 간에 전환하는 것과 같습니다.

지정된 필드의 유형이 값 목록( RealmObject 가 아닌 경우, 지정된 null 허용 여부는 필드 자체에는 영향을 주지 않고 해당 요소에만 영향을 미칩니다. 값 목록 자체는 항상 null을 허용하지 않습니다.

매개변수

  • fieldName - 클래스의 필드 이름입니다.

  • required - 필드가 필수이면 true , 그렇지 않으면 false 입니다.

반환

업데이트된 스키마.

스로우

현재 클래스의 각 RealmObject 인스턴스에 대해 변환 함수를 실행합니다. 객체는 DynamicRealmObject 로 표시됩니다.

객체가 반환되는 순서가 보장되지는 않습니다.

매개변수

  • function - 변환 함수.

반환

이 스키마.

스로우

돌아가기

RealmObjectChangeListener