Package org.spdx.storage.simple
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 Summary
Constructors Constructor Description ExtendedSpdxStore(org.spdx.storage.IModelStore baseStore)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addValueToCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)
protected void
clear()
Clear all values for the documentvoid
clearValueCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)
void
close()
boolean
collectionContains(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)
int
collectionSize(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)
void
create(org.spdx.core.TypedValue typedValue)
void
delete(String objectUri)
org.spdx.storage.IModelStore.IModelStoreLock
enterCriticalSection(boolean readLockRequested)
boolean
exists(String objectUri)
Stream<org.spdx.core.TypedValue>
getAllItems(String documentUri, String typeFilter)
Optional<String>
getCaseSensisitiveId(String documentUri, String caseInsensisitiveId)
org.spdx.storage.IModelStore.IdType
getIdType(String id)
String
getNextId(org.spdx.storage.IModelStore.IdType idType)
List<org.spdx.storage.PropertyDescriptor>
getPropertyValueDescriptors(String objectUri)
Optional<org.spdx.core.TypedValue>
getTypedValue(String objectUri)
Optional<Object>
getValue(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)
boolean
isAnon(String objectUri)
boolean
isCollectionMembersAssignableTo(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Class<?> clazz)
boolean
isCollectionProperty(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)
boolean
isPropertyValueAssignableTo(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Class<?> clazz, String specVersion)
void
leaveCriticalSection(org.spdx.storage.IModelStore.IModelStoreLock lock)
Iterator<Object>
listValues(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)
void
removeProperty(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)
boolean
removeValueFromCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)
void
setValue(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)
-
-
-
Method Detail
-
exists
public boolean exists(String objectUri)
- Specified by:
exists
in interfaceorg.spdx.storage.IModelStore
-
create
public void create(org.spdx.core.TypedValue typedValue) throws org.spdx.core.InvalidSPDXAnalysisException
- Specified by:
create
in interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.spdx.storage.IModelStore
- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
getAllItems
public Stream<org.spdx.core.TypedValue> getAllItems(String documentUri, String typeFilter) throws org.spdx.core.InvalidSPDXAnalysisException
- Specified by:
getAllItems
in interfaceorg.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 interfaceorg.spdx.storage.IModelStore
- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
leaveCriticalSection
public void leaveCriticalSection(org.spdx.storage.IModelStore.IModelStoreLock lock)
- Specified by:
leaveCriticalSection
in interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.spdx.storage.IModelStore
- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
getIdType
public org.spdx.storage.IModelStore.IdType getIdType(String id)
- Specified by:
getIdType
in interfaceorg.spdx.storage.IModelStore
-
isAnon
public boolean isAnon(String objectUri)
- Specified by:
isAnon
in interfaceorg.spdx.storage.IModelStore
-
getCaseSensisitiveId
public Optional<String> getCaseSensisitiveId(String documentUri, String caseInsensisitiveId)
- Specified by:
getCaseSensisitiveId
in interfaceorg.spdx.storage.IModelStore
-
getTypedValue
public Optional<org.spdx.core.TypedValue> getTypedValue(String objectUri) throws org.spdx.core.InvalidSPDXAnalysisException
- Specified by:
getTypedValue
in interfaceorg.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 interfaceorg.spdx.storage.IModelStore
- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
close
public void close() throws Exception
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
-