Class ExtendedSpdxStore

java.lang.Object
org.spdx.storage.simple.ExtendedSpdxStore
All Implemented Interfaces:
AutoCloseable, org.spdx.storage.IModelStore

public abstract class ExtendedSpdxStore extends Object implements org.spdx.storage.IModelStore
A simple abstract SPDX store that stores everything in an underlying model store which is initialized in the constructor.

This class can be useful for subclassing and overriding specific methods and/or implementing serialization with a choice of underlying message stores.

Author:
Gary O'Neall
  • Constructor Details

    • ExtendedSpdxStore

      public ExtendedSpdxStore(org.spdx.storage.IModelStore baseStore)
      Parameters:
      baseStore - store used as the base for this extended SPDX store
  • Method Details

    • exists

      public boolean exists(String objectUri)
      Specified by:
      exists in interface org.spdx.storage.IModelStore
    • create

      public void create(org.spdx.core.TypedValue typedValue) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      create in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • getPropertyValueDescriptors

      public List<org.spdx.storage.PropertyDescriptor> getPropertyValueDescriptors(String objectUri) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      getPropertyValueDescriptors in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • setValue

      public void setValue(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      setValue in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • getValue

      public Optional<Object> getValue(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      getValue in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • getNextId

      public String getNextId(org.spdx.storage.IModelStore.IdType idType) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      getNextId in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • removeProperty

      public void removeProperty(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      removeProperty in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • getAllItems

      public Stream<org.spdx.core.TypedValue> getAllItems(@Nullable String documentUri, @Nullable String typeFilter) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      getAllItems in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • enterCriticalSection

      public org.spdx.storage.IModelStore.IModelStoreLock enterCriticalSection(boolean readLockRequested) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      enterCriticalSection in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • leaveCriticalSection

      public void leaveCriticalSection(org.spdx.storage.IModelStore.IModelStoreLock lock)
      Specified by:
      leaveCriticalSection in interface org.spdx.storage.IModelStore
    • removeValueFromCollection

      public boolean removeValueFromCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      removeValueFromCollection in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • collectionSize

      public int collectionSize(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      collectionSize in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • collectionContains

      public boolean collectionContains(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      collectionContains in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • clearValueCollection

      public void clearValueCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      clearValueCollection in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • addValueToCollection

      public boolean addValueToCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      addValueToCollection in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • listValues

      public Iterator<Object> listValues(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      listValues in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • isCollectionMembersAssignableTo

      public boolean isCollectionMembersAssignableTo(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Class<?> clazz) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      isCollectionMembersAssignableTo in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • isPropertyValueAssignableTo

      public boolean isPropertyValueAssignableTo(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Class<?> clazz, String specVersion) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      isPropertyValueAssignableTo in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • isCollectionProperty

      public boolean isCollectionProperty(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      isCollectionProperty in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • getIdType

      public org.spdx.storage.IModelStore.IdType getIdType(String id)
      Specified by:
      getIdType in interface org.spdx.storage.IModelStore
    • isAnon

      public boolean isAnon(String objectUri)
      Specified by:
      isAnon in interface org.spdx.storage.IModelStore
    • getCaseSensitiveId

      public Optional<String> getCaseSensitiveId(String documentUri, String caseInsensitiveId)
      Specified by:
      getCaseSensitiveId in interface org.spdx.storage.IModelStore
    • getTypedValue

      public Optional<org.spdx.core.TypedValue> getTypedValue(String objectUri) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      getTypedValue in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • clear

      protected void clear() throws org.spdx.core.InvalidSPDXAnalysisException
      Clear all values for the document
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException - on errors accessing the store
    • delete

      public void delete(String objectUri) throws org.spdx.core.InvalidSPDXAnalysisException
      Specified by:
      delete in interface org.spdx.storage.IModelStore
      Throws:
      org.spdx.core.InvalidSPDXAnalysisException
    • close

      public void close() throws Exception
      Specified by:
      close in interface AutoCloseable
      Throws:
      Exception