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 booleanaddValueToCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)protected voidclear()Clear all values for the documentvoidclearValueCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)voidclose()booleancollectionContains(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)intcollectionSize(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)voidcreate(org.spdx.core.TypedValue typedValue)voiddelete(String objectUri)org.spdx.storage.IModelStore.IModelStoreLockenterCriticalSection(boolean readLockRequested)booleanexists(String objectUri)Stream<org.spdx.core.TypedValue>getAllItems(String documentUri, String typeFilter)Optional<String>getCaseSensitiveId(String documentUri, String caseInsensitiveId)org.spdx.storage.IModelStore.IdTypegetIdType(String id)StringgetNextId(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)booleanisAnon(String objectUri)booleanisCollectionMembersAssignableTo(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Class<?> clazz)booleanisCollectionProperty(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)booleanisPropertyValueAssignableTo(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Class<?> clazz, String specVersion)voidleaveCriticalSection(org.spdx.storage.IModelStore.IModelStoreLock lock)Iterator<Object>listValues(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)voidremoveProperty(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor)booleanremoveValueFromCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)voidsetValue(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value)
-
-
-
Method Detail
-
exists
public boolean exists(String objectUri)
- Specified by:
existsin interfaceorg.spdx.storage.IModelStore
-
create
public void create(org.spdx.core.TypedValue typedValue) throws org.spdx.core.InvalidSPDXAnalysisException- Specified by:
createin 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:
getPropertyValueDescriptorsin 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:
setValuein 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:
getValuein 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:
getNextIdin 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:
removePropertyin interfaceorg.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:
getAllItemsin 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:
enterCriticalSectionin interfaceorg.spdx.storage.IModelStore- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
leaveCriticalSection
public void leaveCriticalSection(org.spdx.storage.IModelStore.IModelStoreLock lock)
- Specified by:
leaveCriticalSectionin interfaceorg.spdx.storage.IModelStore
-
removeValueFromCollection
public boolean removeValueFromCollection(String objectUri, org.spdx.storage.PropertyDescriptor propertyDescriptor, Object value) throws org.spdx.core.InvalidSPDXAnalysisException
- Specified by:
removeValueFromCollectionin 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:
collectionSizein 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:
collectionContainsin 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:
clearValueCollectionin 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:
addValueToCollectionin 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:
listValuesin 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:
isCollectionMembersAssignableToin 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:
isPropertyValueAssignableToin 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:
isCollectionPropertyin interfaceorg.spdx.storage.IModelStore- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
getIdType
public org.spdx.storage.IModelStore.IdType getIdType(String id)
- Specified by:
getIdTypein interfaceorg.spdx.storage.IModelStore
-
isAnon
public boolean isAnon(String objectUri)
- Specified by:
isAnonin interfaceorg.spdx.storage.IModelStore
-
getCaseSensitiveId
public Optional<String> getCaseSensitiveId(String documentUri, String caseInsensitiveId)
- Specified by:
getCaseSensitiveIdin interfaceorg.spdx.storage.IModelStore
-
getTypedValue
public Optional<org.spdx.core.TypedValue> getTypedValue(String objectUri) throws org.spdx.core.InvalidSPDXAnalysisException
- Specified by:
getTypedValuein interfaceorg.spdx.storage.IModelStore- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
clear
protected void clear() throws org.spdx.core.InvalidSPDXAnalysisExceptionClear 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:
deletein interfaceorg.spdx.storage.IModelStore- Throws:
org.spdx.core.InvalidSPDXAnalysisException
-
close
public void close() throws Exception- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
-