패키지 io.realm

클래스 RealmSchema


  • public abstract class RealmSchema
    extends Object
    Realm 스키마와 상호 작용하기 위한 클래스입니다. 이를 통해 Realm에서 클래스를 검사, 추가, 삭제 및 변경할 수 있습니다.

    Realm.getSchema() 은 검사에만 사용할 수 있는 변경 불가능한 RealmSchema 을 반환합니다. 변경 가능한 스키마를 가져오려면 DynamicRealm.getSchema() 을(를) 사용합니다.

    모든 변경 사항은 특정 Realm에 대한 쓰기 트랜잭션(write transaction) 내에서 발생해야 합니다.

    다음도 참조하세요.
    RealmMigration
    • 메서드 세부 정보

      • 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_KEYFieldAttribute.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에서만 호출해야 합니다.