Class CompatibleModelStoreWrapper

  • All Implemented Interfaces:
    AutoCloseable, org.spdx.storage.IModelStore

    public class CompatibleModelStoreWrapper
    extends Object
    implements org.spdx.storage.IModelStore
    Wraps a model store providing a compatible interface to the 1.X version of the SPDX Java Library
    Author:
    Gary O'Neall
    • Constructor Detail

      • CompatibleModelStoreWrapper

        public CompatibleModelStoreWrapper​(org.spdx.storage.IModelStore baseStore)
    • Method Detail

      • propNameToPropDescriptor

        public static org.spdx.storage.PropertyDescriptor propNameToPropDescriptor​(String propName)
      • exists

        public boolean exists​(String documentUri,
                              String id)
        Parameters:
        documentUri - a nameSpace for the ID
        id - unique ID within the SPDX document
        Returns:
        true if the objectUri already exists for the documentUri
      • documentUriIdToUri

        public static String documentUriIdToUri​(String documentUri,
                                                String id,
                                                org.spdx.storage.IModelStore store)
        Parameters:
        documentUri - SPDX v2 Document URI
        id - ID consistent with SPDX v2 spec
        store - store used for the Document URI
        Returns:
        true if the objectUri already exists for the documentUri
      • documentUriToNamespace

        public static String documentUriToNamespace​(String documentUri)
      • documentUriIdToUri

        public static String documentUriIdToUri​(String documentUri,
                                                String id,
                                                boolean anonymous)
        Parameters:
        documentUri - SPDX v2 Document URI
        id - ID consistent with SPDX v2 spec
        anonymous - true of this is an anonymous ID
        Returns:
        a URI based on the document URI and ID - if anonymous is true, the ID is returned
      • typedValueFromDocUri

        public static org.spdx.core.TypedValue typedValueFromDocUri​(String documentUri,
                                                                    String id,
                                                                    boolean anonymous,
                                                                    String type)
                                                             throws org.spdx.core.SpdxInvalidIdException,
                                                                    org.spdx.core.SpdxInvalidTypeException,
                                                                    org.spdx.core.ModelRegistryException
        Convenience method to convert an SPDX 2.X style typed value to the current TypedValue
        Parameters:
        documentUri - SPDX v2 Document URI
        id - ID consistent with SPDX v2 spec
        anonymous - true of this is an anonymous ID
        type - SPDX type
        Returns:
        TypedValue with the proper Object URI formed by the documentUri and ID
        Throws:
        org.spdx.core.SpdxInvalidIdException - if the ID is not valid
        org.spdx.core.SpdxInvalidTypeException - if the type is not valid
        org.spdx.core.ModelRegistryException - if there is no model registered for the spec version
      • typedValueFromDocUri

        public static org.spdx.core.TypedValue typedValueFromDocUri​(String documentUri,
                                                                    String id,
                                                                    org.spdx.storage.IModelStore store,
                                                                    String type)
                                                             throws org.spdx.core.SpdxInvalidIdException,
                                                                    org.spdx.core.SpdxInvalidTypeException,
                                                                    org.spdx.core.ModelRegistryException
        Convenience method to convert an SPDX 2.X style typed value to the current TypedValue
        Parameters:
        documentUri - SPDX v2 Document URI
        id - ID consistent with SPDX v2 spec
        store - store used
        type - SPDX type
        Returns:
        TypedValue with the proper Object URI formed by the documentUri and ID
        Throws:
        org.spdx.core.SpdxInvalidIdException - if the ID is not valid
        org.spdx.core.SpdxInvalidTypeException - if the type is not valid
        org.spdx.core.ModelRegistryException - if there is no model registered for the spec version
      • objectUriToId

        public static String objectUriToId​(org.spdx.storage.IModelStore store,
                                           String objectUri,
                                           String documentUri)
                                    throws org.spdx.core.InvalidSPDXAnalysisException
        Parameters:
        store - Store storing the objet URI
        objectUri - Object URI
        documentUri - SPDX 2 document URI for the ID
        Returns:
        the SPDX 2 compatible ID
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • objectUriToId

        public static String objectUriToId​(boolean anon,
                                           String objectUri,
                                           String documentUri)
                                    throws org.spdx.core.InvalidSPDXAnalysisException
        Parameters:
        anon - true if the ID type is anonymous
        objectUri - Object URI
        documentUri - SPDX 2 document URI for the ID
        Returns:
        the SPDX 2 compatible ID
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException - on any SPDX exception
      • exists

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

        public void create​(String documentUri,
                           String id,
                           String type)
                    throws org.spdx.core.InvalidSPDXAnalysisException
        Parameters:
        documentUri - SPDX v2 spec document URI
        id - SPDX ID
        type - type
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException - on any SPDX exception
      • 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
      • getPropertyValueDescriptors

        public List<org.spdx.storage.PropertyDescriptor> getPropertyValueDescriptors​(String documentUri,
                                                                                     String id)
                                                                              throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • getPropertyValueNames

        public Collection<String> getPropertyValueNames​(String objectUri)
                                                 throws org.spdx.core.InvalidSPDXAnalysisException
        Parameters:
        objectUri - URI for the item
        Returns:
        all property names stored for the Object URI
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException - on any SPDX exception
      • getPropertyValueNames

        public Collection<String> getPropertyValueNames​(String documentUri,
                                                        String id)
                                                 throws org.spdx.core.InvalidSPDXAnalysisException
        Parameters:
        documentUri - document URI
        id - ID for the item
        Returns:
        all property names stored for the documentUri#id
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException - on any SPDX exception
      • 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
      • setValue

        public void setValue​(String documentUri,
                             String id,
                             org.spdx.storage.PropertyDescriptor propertyDescriptor,
                             Object value)
                      throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • setValue

        public void setValue​(String documentUri,
                             String id,
                             String propertyName,
                             Object value)
                      throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • getValue

        public Optional<Object> getValue​(String documentUri,
                                         String id,
                                         org.spdx.storage.PropertyDescriptor propertyDescriptor)
                                  throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • getValue

        public Optional<Object> getValue​(String documentUri,
                                         String id,
                                         String propertyName)
                                  throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • getNextId

        public String getNextId​(org.spdx.storage.IModelStore.IdType idType,
                                String documentUri)
                         throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • removeProperty

        public void removeProperty​(String documentUri,
                                   String id,
                                   org.spdx.storage.PropertyDescriptor propertyDescriptor)
                            throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • removeProperty

        public void removeProperty​(String documentUri,
                                   String id,
                                   String propertyName)
                            throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • getAllItems

        public Stream<org.spdx.core.TypedValue> getAllItems​(String nameSpace,
                                                            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
      • enterCriticalSection

        public org.spdx.storage.IModelStore.IModelStoreLock enterCriticalSection​(String documentUri,
                                                                                 boolean readLockRequested)
                                                                          throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • removeValueFromCollection

        public boolean removeValueFromCollection​(String documentUri,
                                                 String id,
                                                 org.spdx.storage.PropertyDescriptor propertyDescriptor,
                                                 Object value)
                                          throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • removeValueFromCollection

        public boolean removeValueFromCollection​(String documentUri,
                                                 String id,
                                                 String propertyName,
                                                 Object value)
                                          throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • collectionSize

        public int collectionSize​(String documentUri,
                                  String id,
                                  org.spdx.storage.PropertyDescriptor propertyDescriptor)
                           throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • collectionSize

        public int collectionSize​(String documentUri,
                                  String id,
                                  String propertyName)
                           throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • collectionContains

        public boolean collectionContains​(String documentUri,
                                          String id,
                                          org.spdx.storage.PropertyDescriptor propertyDescriptor,
                                          Object value)
                                   throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • collectionContains

        public boolean collectionContains​(String documentUri,
                                          String id,
                                          String propertyName,
                                          Object value)
                                   throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • clearValueCollection

        public void clearValueCollection​(String documentUri,
                                         String id,
                                         org.spdx.storage.PropertyDescriptor propertyDescriptor)
                                  throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • clearValueCollection

        public void clearValueCollection​(String documentUri,
                                         String id,
                                         String propertyName)
                                  throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • addValueToCollection

        public boolean addValueToCollection​(String documentUri,
                                            String id,
                                            org.spdx.storage.PropertyDescriptor propertyDescriptor,
                                            Object value)
                                     throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • addValueToCollection

        public boolean addValueToCollection​(String documentUri,
                                            String id,
                                            String propertyName,
                                            Object value)
                                     throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • listValues

        public Iterator<Object> listValues​(String documentUri,
                                           String id,
                                           org.spdx.storage.PropertyDescriptor propertyDescriptor)
                                    throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • listValues

        public Iterator<Object> listValues​(String documentUri,
                                           String id,
                                           String propertyName)
                                    throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • isCollectionMembersAssignableTo

        public boolean isCollectionMembersAssignableTo​(String documentUri,
                                                       String id,
                                                       org.spdx.storage.PropertyDescriptor propertyDescriptor,
                                                       Class<?> clazz)
                                                throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • isCollectionMembersAssignableTo

        public boolean isCollectionMembersAssignableTo​(String documentUri,
                                                       String id,
                                                       String propertyName,
                                                       Class<?> clazz)
                                                throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • isPropertyValueAssignableTo

        public boolean isPropertyValueAssignableTo​(String documentUri,
                                                   String id,
                                                   org.spdx.storage.PropertyDescriptor propertyDescriptor,
                                                   Class<?> clazz)
                                            throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • isPropertyValueAssignableTo

        public boolean isPropertyValueAssignableTo​(String documentUri,
                                                   String id,
                                                   String propertyName,
                                                   Class<?> clazz)
                                            throws org.spdx.core.InvalidSPDXAnalysisException
        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
      • isCollectionProperty

        public boolean isCollectionProperty​(String documentUri,
                                            String id,
                                            org.spdx.storage.PropertyDescriptor propertyDescriptor)
                                     throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • isCollectionProperty

        public boolean isCollectionProperty​(String documentUri,
                                            String id,
                                            String propertyName)
                                     throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • getIdType

        public org.spdx.storage.IModelStore.IdType getIdType​(String objectUri)
        Specified by:
        getIdType 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
      • getTypedValue

        public Optional<org.spdx.core.TypedValue> getTypedValue​(String documentUri,
                                                                String id)
                                                         throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • delete

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

        public void delete​(String documentUri,
                           String id)
                    throws org.spdx.core.InvalidSPDXAnalysisException
        Throws:
        org.spdx.core.InvalidSPDXAnalysisException
      • getBaseModelStore

        public org.spdx.storage.IModelStore getBaseModelStore()
        Returns:
        the store this store wraps
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • isAnon

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