java.lang.Object
de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.relation.EntityRelationRepositoryImpl
All Implemented Interfaces:
EntityRelationRepository

@Repository
public class EntityRelationRepositoryImpl
extends JdbiRepositoryImpl
implements EntityRelationRepository
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String MAPPING_PREFIX  
    static java.lang.String TABLE_ALIAS  
    static java.lang.String TABLE_NAME  

    Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl

    dbi, mappingPrefix, tableAlias, tableName
  • Constructor Summary

    Constructors
    Constructor Description
    EntityRelationRepositoryImpl​(javax.sql.DataSource dataSource, org.jdbi.v3.core.Jdbi dbi, EntityRepositoryImpl<de.digitalcollections.model.api.identifiable.entity.Entity> entityRepositoryImpl)  
  • Method Summary

    Modifier and Type Method Description
    void addRelation​(java.util.UUID subjectEntityUuid, java.lang.String predicate, java.util.UUID objectEntityUuid)  
    void deleteBySubject​(java.util.UUID subjectEntityUuid)  
    de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> find​(de.digitalcollections.model.api.paging.PageRequest pageRequest)  
    java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> findBySubject​(de.digitalcollections.model.api.identifiable.entity.Entity subjectEntity)  
    java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> findBySubject​(java.util.UUID subjectEntityUuid)  
    protected java.util.List<java.lang.String> getAllowedOrderByFields()  
    protected java.lang.String getColumnName​(java.lang.String modelProperty)  
    java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> save​(java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> entityRelations)  
    void save​(java.util.UUID subjectEntityUuid, java.lang.String predicate, java.util.UUID objectEntityUuid)  

    Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl

    count, getMappingPrefix, getTableAlias, getTableName

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.relation.EntityRelationRepository

    addRelation, deleteBySubject, save
  • Field Details

  • Constructor Details

    • EntityRelationRepositoryImpl

      @Autowired public EntityRelationRepositoryImpl​(javax.sql.DataSource dataSource, org.jdbi.v3.core.Jdbi dbi, @Qualifier("entityRepositoryImpl") EntityRepositoryImpl<de.digitalcollections.model.api.identifiable.entity.Entity> entityRepositoryImpl)
  • Method Details

    • addRelation

      public void addRelation​(java.util.UUID subjectEntityUuid, java.lang.String predicate, java.util.UUID objectEntityUuid)
      Specified by:
      addRelation in interface EntityRelationRepository
    • deleteBySubject

      public void deleteBySubject​(java.util.UUID subjectEntityUuid)
      Specified by:
      deleteBySubject in interface EntityRelationRepository
    • find

      public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> find​(de.digitalcollections.model.api.paging.PageRequest pageRequest)
      Specified by:
      find in interface EntityRelationRepository
    • findBySubject

      public java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> findBySubject​(java.util.UUID subjectEntityUuid)
      Specified by:
      findBySubject in interface EntityRelationRepository
    • findBySubject

      public java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> findBySubject​(de.digitalcollections.model.api.identifiable.entity.Entity subjectEntity)
      Specified by:
      findBySubject in interface EntityRelationRepository
    • getAllowedOrderByFields

      protected java.util.List<java.lang.String> getAllowedOrderByFields()
      Specified by:
      getAllowedOrderByFields in class AbstractPagingAndSortingRepositoryImpl
      Returns:
      model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
    • getColumnName

      protected java.lang.String getColumnName​(java.lang.String modelProperty)
      Specified by:
      getColumnName in class AbstractPagingAndSortingRepositoryImpl
      Parameters:
      modelProperty - name of model property passed as String, e.g. "lastModified"
      Returns:
      full qualified column name as used in sql queries ("last_modified" or e.g. "w.last_modified" if prefix used in queries)
    • save

      public void save​(java.util.UUID subjectEntityUuid, java.lang.String predicate, java.util.UUID objectEntityUuid)
      Specified by:
      save in interface EntityRelationRepository
    • save

      public java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> save​(java.util.List<de.digitalcollections.model.api.identifiable.entity.relation.EntityRelation> entityRelations)
      Specified by:
      save in interface EntityRelationRepository