Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

클래스 RealmObjectSchema

이 페이지의 내용

  • io.realm
  • 중첩된 클래스 요약
  • 메서드 요약
  • 상속된 메서드
  • 메서드 세부 정보
  • addField
  • addIndex
  • addPrimaryKey
  • addRealmDictionaryField
  • addRealmListField
  • addRealmObjectField
  • addRealmSetField
  • getClassName
  • getFieldNames
  • getFieldType
  • getPrimaryKey
  • hasField
  • hasIndex
  • hasPrimaryKey
  • isEmbedded
  • isNullable
  • isPrimaryKey
  • isRequired
  • removeField
  • 인덱스 제거
  • removePrimaryKey
  • renameField
  • setClassName
  • setEmbedded
  • setNullable
  • setRequired
  • 변환
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 를 포함하는 새 필드를 추가합니다.

공개 string

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

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

String fieldName
)

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

공개 string

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

공개 부울
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 인스턴스에 대해 변환 함수를 실행합니다.

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 - 새 필드 이름입니다.

반환

업데이트된 스키마.

스로우

  • 불법적인 인수 예외 - 필드 이름이 존재하지 않거나 새 필드 이름이 이미 존재하는 경우.

  • UnsupportedOperationException - 이 RealmObjectSchema 가 변경 불가능하거나 동기화된 Realm의 경우

String className
)

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

매개변수

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

스로우

다음도 참조하세요.

public void setEmbedded (
boolean embedded
)

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

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

  • 이 유형의 모든 기존 객체에는 이미 해당 상위 객체 를 가리키는 정확히 하나의 상위 객체가 있어야 합니다. 개 또는 개 이상의 객체 객체 대한 참조가 0 1 포함된 ImpededIllegalStateException 인 경우 던져질 것입니다.

스로우

다음도 참조하세요.

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