Class KadaCollectionMetadataRepository

java.lang.Object
com.altibase.document.repository.KadaCollectionMetadataRepository
All Implemented Interfaces:
CollectionMetadataRepository

public class KadaCollectionMetadataRepository extends Object implements CollectionMetadataRepository
CollectionMetadataRepository의 기본 구현체.

이 클래스는 kada_api_admin 스키마의 저장 프로시저(dbms_kada 패키지)를 통해 메타데이터에 접근하는 공통 로직을 구현한다. 저장 프로시저는 user_id 기반의 권한 검증을 수행하므로 안전한 접근이 보장된다.

  • Field Details

  • Constructor Details

    • KadaCollectionMetadataRepository

      public KadaCollectionMetadataRepository(Connection aConn)
      데이터베이스 연결을 사용하여 저장소 인스턴스를 생성한다.
      Parameters:
      aConn - 데이터베이스 연결 객체
  • Method Details

    • save

      public void save(String aUserId, String aCollectionName, CollectionMetaData aMetadata, String aCreationMode, String aOwnerId, boolean aIsShared)
      컬렉션 메타데이터를 저장소에 저장한다.
      Specified by:
      save in interface CollectionMetadataRepository
      Parameters:
      aUserId - 사용자 계정명 (저장 프로시저 기반 권한 검증)
      aCollectionName - 컬렉션 이름
      aMetadata - 저장할 메타데이터
      aCreationMode - 생성 모드 ("NEW": 새 테이블 생성, "MAP": 기존 테이블 매핑)
      aOwnerId - 컬렉션 생성자 userId
      aIsShared - 공유 컬렉션 여부 (true: 공유, false: 일반)
    • findByName

      public CollectionMetaData findByName(String aUserId, String aCollectionName)
      지정된 이름의 컬렉션 메타데이터를 조회한다.
      Specified by:
      findByName in interface CollectionMetadataRepository
      Parameters:
      aUserId - 사용자 계정명 (저장 프로시저 기반 권한 검증)
      aCollectionName - 컬렉션 이름
      Returns:
      메타데이터, 존재하지 않으면 null
    • findAll

      public List<CollectionMetaData> findAll(String aUserId)
      사용자의 모든 컬렉션 메타데이터를 조회한다.
      Specified by:
      findAll in interface CollectionMetadataRepository
      Parameters:
      aUserId - 사용자 계정명
      Returns:
      메타데이터 목록
    • findAllForAdmin

      public List<CollectionMetaData> findAllForAdmin()
      모든 사용자의 컬렉션 메타데이터를 조회한다 (ADMIN 전용). user_id 필터링 없이 전체 컬렉션을 반환한다.
      Specified by:
      findAllForAdmin in interface CollectionMetadataRepository
      Returns:
      메타데이터 목록
    • delete

      public void delete(String aUserId, String aCollectionName)
      지정된 이름의 컬렉션 메타데이터를 삭제한다.
      Specified by:
      delete in interface CollectionMetadataRepository
      Parameters:
      aUserId - 사용자 계정명 (저장 프로시저 기반 권한 검증)
      aCollectionName - 컬렉션 이름
    • findSharedCollection

      public CollectionMetaData findSharedCollection(String aCollectionName)
      공유 컬렉션 메타데이터를 조회한다. user_id = 'SHARED'인 컬렉션을 조회한다.
      Specified by:
      findSharedCollection in interface CollectionMetadataRepository
      Parameters:
      aCollectionName - 컬렉션 이름
      Returns:
      메타데이터, 존재하지 않으면 null
    • findAllShared

      public List<CollectionMetaData> findAllShared()
      모든 공유 컬렉션 메타데이터를 조회한다. user_id = 'SHARED'인 모든 컬렉션을 반환한다.
      Specified by:
      findAllShared in interface CollectionMetadataRepository
      Returns:
      메타데이터 목록
    • findAllWithShared

      public List<CollectionMetaData> findAllWithShared(String aUserId)
      사용자의 컬렉션 + 공유 컬렉션을 한 번에 조회한다. user_id가 일치하거나 SHARED인 모든 컬렉션을 반환한다.
      Specified by:
      findAllWithShared in interface CollectionMetadataRepository
      Parameters:
      aUserId - 사용자 계정명
      Returns:
      메타데이터 목록