Class MongoNodeRepositoryImpl
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.data.mongodb.repository.MongoRepository<NodeWrapper,,String> org.springframework.data.repository.CrudRepository<NodeWrapper,,String> org.springframework.data.repository.ListCrudRepository<NodeWrapper,,String> org.springframework.data.repository.ListPagingAndSortingRepository<NodeWrapper,,String> org.springframework.data.repository.PagingAndSortingRepository<NodeWrapper,,String> org.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>,org.springframework.data.repository.Repository<NodeWrapper,String>
- Direct Known Subclasses:
EncryptedMongoNodeRepositoryImpl
NodeWrapper entities in MongoDB.
Implements the MongoRepository interface using MongoOperations
to perform database operations.
Activation of this repository is controlled by the
application.service.vault.encryption.enabled property: the bean is
instantiated when the value is false or the property is missing.
Provides CRUD operations including insertion, saving, batch operations, and
queries by Example, Sort or Pageable. It also supports
counting and removal of entities.
The findBy(Example, Function) method is not implemented and always
throws an UnsupportedOperationException.
This class extends BaseComponent and is intended for scenarios
where node encryption is disabled at the application level. It relies on
MongoOperations for thread-safe persistence of NodeWrapper
documents.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlongcount()<S extends NodeWrapper>
longcount(@NonNull org.springframework.data.domain.Example<S> example) voiddelete(@NonNull NodeWrapper entity) voidvoiddeleteAll(@NonNull Iterable<? extends NodeWrapper> entities) voiddeleteAllById(@NonNull Iterable<? extends String> ids) voiddeleteById(@NonNull String id) <S extends NodeWrapper>
booleanexists(@NonNull org.springframework.data.domain.Example<S> example) booleanexistsById(@NonNull String id) @NonNull List<NodeWrapper> findAll()<S extends NodeWrapper>
@NonNull List<S> findAll(@NonNull org.springframework.data.domain.Example<S> example) <S extends NodeWrapper>
@NonNull org.springframework.data.domain.Page<S> findAll(@NonNull org.springframework.data.domain.Example<S> example, @NonNull org.springframework.data.domain.Pageable pageable) <S extends NodeWrapper>
@NonNull List<S> findAll(@NonNull org.springframework.data.domain.Example<S> example, @NonNull org.springframework.data.domain.Sort sort) @NonNull org.springframework.data.domain.Page<NodeWrapper> findAll(@NonNull org.springframework.data.domain.Pageable pageable) @NonNull List<NodeWrapper> findAll(@NonNull org.springframework.data.domain.Sort sort) @NonNull List<NodeWrapper> findAllById(@NonNull Iterable<String> ids) <S extends NodeWrapper,R>
RfindBy(@NonNull org.springframework.data.domain.Example<S> example, @NonNull Function<org.springframework.data.repository.query.FluentQuery.FetchableFluentQuery<S>, R> queryFunction) org.springframework.data.domain.Page<NodeWrapper> findByArchiveDateRange(Instant from, Instant to, org.springframework.data.domain.Pageable pageable) Retrieves node wrappers archived within the specified date range using pagination.@NonNull Optional<NodeWrapper> findByKv(int kv) Retrieves node wrappers by encryption key version.Retrieves node wrappers by notarization transaction ID.<S extends NodeWrapper>
@NonNull Optional<S> findOne(@NonNull org.springframework.data.domain.Example<S> example) voidinit()Called after dependency injection is complete.<S extends NodeWrapper>
@NonNull List<S> <S extends NodeWrapper>
Sinsert(S entity) <S extends NodeWrapper>
Ssave(S entity) <S extends NodeWrapper>
@NonNull List<S> Methods inherited from class org.saidone.component.BaseComponent
setApplicationContext, shutDown, stop
-
Constructor Details
-
MongoNodeRepositoryImpl
public MongoNodeRepositoryImpl()
-
-
Method Details
-
init
@PostConstruct public void init()Called after dependency injection is complete. Logs a startup message indicating that the component is ready.The method verifies that the MongoDB connection is available at start-up. If the connection cannot be established the application is shut down to avoid running in an inconsistent state.
- Overrides:
initin classBaseComponent
-
insert
- Specified by:
insertin interfaceorg.springframework.data.mongodb.repository.MongoRepository<NodeWrapper,String>
-
insert
@NonNull public <S extends NodeWrapper> @NonNull List<S> insert(@NonNull @NonNull Iterable<S> entities) - Specified by:
insertin interfaceorg.springframework.data.mongodb.repository.MongoRepository<NodeWrapper,String>
-
save
- Specified by:
savein interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
saveAll
@NonNull public <S extends NodeWrapper> @NonNull List<S> saveAll(@NonNull @NonNull Iterable<S> entities) - Specified by:
saveAllin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String> - Specified by:
saveAllin interfaceorg.springframework.data.repository.ListCrudRepository<NodeWrapper,String>
-
findOne
@NonNull public <S extends NodeWrapper> @NonNull Optional<S> findOne(@NonNull @NonNull org.springframework.data.domain.Example<S> example) - Specified by:
findOnein interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>
-
findAll
@NonNull public <S extends NodeWrapper> @NonNull List<S> findAll(@NonNull @NonNull org.springframework.data.domain.Example<S> example) - Specified by:
findAllin interfaceorg.springframework.data.mongodb.repository.MongoRepository<NodeWrapper,String> - Specified by:
findAllin interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>
-
findAll
@NonNull public <S extends NodeWrapper> @NonNull List<S> findAll(@NonNull @NonNull org.springframework.data.domain.Example<S> example, @NonNull @NonNull org.springframework.data.domain.Sort sort) - Specified by:
findAllin interfaceorg.springframework.data.mongodb.repository.MongoRepository<NodeWrapper,String> - Specified by:
findAllin interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>
-
findAll
@NonNull public <S extends NodeWrapper> @NonNull org.springframework.data.domain.Page<S> findAll(@NonNull @NonNull org.springframework.data.domain.Example<S> example, @NonNull @NonNull org.springframework.data.domain.Pageable pageable) - Specified by:
findAllin interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>
-
findBy
@NonNull public <S extends NodeWrapper,R> R findBy(@NonNull @NonNull org.springframework.data.domain.Example<S> example, @NonNull @NonNull Function<org.springframework.data.repository.query.FluentQuery.FetchableFluentQuery<S>, R> queryFunction) - Specified by:
findByin interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>- Throws:
UnsupportedOperationException- always thrown as this method is not implemented
-
findById
- Specified by:
findByIdin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
existsById
- Specified by:
existsByIdin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
findAll
- Specified by:
findAllin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String> - Specified by:
findAllin interfaceorg.springframework.data.repository.ListCrudRepository<NodeWrapper,String>
-
findByArchiveDateRange
public org.springframework.data.domain.Page<NodeWrapper> findByArchiveDateRange(Instant from, Instant to, org.springframework.data.domain.Pageable pageable) Retrieves node wrappers archived within the specified date range using pagination.When both
fromandtoarenull, this method delegates tofindAll(Pageable).If the supplied
Pageabledoes not define a sort order, results are ordered by archive date in ascending order.- Parameters:
from- lower bound of the archive date range, inclusive.nullfor no lower bound.to- upper bound of the archive date range, inclusive.nullfor no upper bound.pageable- pagination information- Returns:
- page of matching nodes
-
findByNtx
Retrieves node wrappers by notarization transaction ID. Anullvalue matches nodes without a transaction ID.- Parameters:
ntx- the transaction ID to filter by- Returns:
- list of matching nodes
-
findByKv
Retrieves node wrappers by encryption key version.- Parameters:
kv- the encryption key version to filter by- Returns:
- list of nodes encrypted with the specified key version
-
findAllById
- Specified by:
findAllByIdin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String> - Specified by:
findAllByIdin interfaceorg.springframework.data.repository.ListCrudRepository<NodeWrapper,String>
-
count
public long count()- Specified by:
countin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
deleteById
- Specified by:
deleteByIdin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
delete
- Specified by:
deletein interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
deleteAllById
- Specified by:
deleteAllByIdin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
deleteAll
- Specified by:
deleteAllin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
deleteAll
public void deleteAll()- Specified by:
deleteAllin interfaceorg.springframework.data.repository.CrudRepository<NodeWrapper,String>
-
findAll
@NonNull public @NonNull List<NodeWrapper> findAll(@NonNull @NonNull org.springframework.data.domain.Sort sort) - Specified by:
findAllin interfaceorg.springframework.data.repository.ListPagingAndSortingRepository<NodeWrapper,String> - Specified by:
findAllin interfaceorg.springframework.data.repository.PagingAndSortingRepository<NodeWrapper,String>
-
findAll
@NonNull public @NonNull org.springframework.data.domain.Page<NodeWrapper> findAll(@NonNull @NonNull org.springframework.data.domain.Pageable pageable) - Specified by:
findAllin interfaceorg.springframework.data.repository.PagingAndSortingRepository<NodeWrapper,String>
-
count
public <S extends NodeWrapper> long count(@NonNull @NonNull org.springframework.data.domain.Example<S> example) - Specified by:
countin interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>
-
exists
public <S extends NodeWrapper> boolean exists(@NonNull @NonNull org.springframework.data.domain.Example<S> example) - Specified by:
existsin interfaceorg.springframework.data.repository.query.QueryByExampleExecutor<NodeWrapper>
-