Package cz.vutbr.fit.layout.impl
Class DefaultArtifactRepository
- java.lang.Object
-
- cz.vutbr.fit.layout.impl.DefaultArtifactRepository
-
- All Implemented Interfaces:
ArtifactRepository
public class DefaultArtifactRepository extends Object implements ArtifactRepository
Default simple in-memory implementation of an ArtifactRepository.- Author:
- burgetr
-
-
Constructor Summary
Constructors Constructor Description DefaultArtifactRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArtifact(Artifact artifact)
Adds an artifact to the repository.void
clear()
Removes all artifacts from the repository.org.eclipse.rdf4j.model.IRI
createArtifactIri(Artifact artifact)
Generates a unique IRI for a new artifact based on the strategy of the given repository.void
disconnect()
Disconnects the repository.Artifact
getArtifact(org.eclipse.rdf4j.model.IRI artifactIri)
Obtains an artifact from the repository.Collection<Artifact>
getArtifactInfo()
Obtains the basic information about the artifacts.Collection<org.eclipse.rdf4j.model.IRI>
getArtifactIRIs()
Obtains a list of all artifact IRIs in the repository.IRIDecoder
getIriDecoder()
Gets an IRI encoder / decoder usable with this repository.boolean
isReadOnly()
Checks if the repository should be treated as read-only.void
removeArtifact(org.eclipse.rdf4j.model.IRI artifactIri)
Removes an artifact and all its derived artifacts from the repository.void
replaceArtifact(org.eclipse.rdf4j.model.IRI artifactIri, Artifact artifact)
Sets an IRI to a artifact and stores it into the repository while replacing the eventual existing artifact with that IRI.
-
-
-
Method Detail
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:ArtifactRepository
Checks if the repository should be treated as read-only. If true is returned, all modification operations such as adding or removing artifacts should fail with a StorageException.- Specified by:
isReadOnly
in interfaceArtifactRepository
- Returns:
true
when the repository is read-only,false
otherwise.
-
getArtifactIRIs
public Collection<org.eclipse.rdf4j.model.IRI> getArtifactIRIs()
Description copied from interface:ArtifactRepository
Obtains a list of all artifact IRIs in the repository.- Specified by:
getArtifactIRIs
in interfaceArtifactRepository
- Returns:
- The list of all artifacts.
-
getArtifactInfo
public Collection<Artifact> getArtifactInfo()
Description copied from interface:ArtifactRepository
Obtains the basic information about the artifacts. Note that the resulting objects are not necessarily the complete artifacts. UseArtifactRepository.getArtifact(IRI)
to load the complete artifacts of the appropriate types.- Specified by:
getArtifactInfo
in interfaceArtifactRepository
- Returns:
- A collection of objects that represent the available artifacts.
-
getArtifact
public Artifact getArtifact(org.eclipse.rdf4j.model.IRI artifactIri)
Description copied from interface:ArtifactRepository
Obtains an artifact from the repository.- Specified by:
getArtifact
in interfaceArtifactRepository
- Parameters:
artifactIri
- the artifact IRI- Returns:
- the artifact or
null
when there is no such artifact available
-
addArtifact
public void addArtifact(Artifact artifact)
Description copied from interface:ArtifactRepository
Adds an artifact to the repository. If the artifact IRI isnull
a new IRI is generated usingArtifactRepository.createArtifactIri(Artifact)
.- Specified by:
addArtifact
in interfaceArtifactRepository
- Parameters:
artifact
- the artifact to add
-
createArtifactIri
public org.eclipse.rdf4j.model.IRI createArtifactIri(Artifact artifact)
Description copied from interface:ArtifactRepository
Generates a unique IRI for a new artifact based on the strategy of the given repository.- Specified by:
createArtifactIri
in interfaceArtifactRepository
- Parameters:
artifact
- the artifact to generate to IRI for- Returns:
- The generated IRI
-
replaceArtifact
public void replaceArtifact(org.eclipse.rdf4j.model.IRI artifactIri, Artifact artifact)
Description copied from interface:ArtifactRepository
Sets an IRI to a artifact and stores it into the repository while replacing the eventual existing artifact with that IRI.- Specified by:
replaceArtifact
in interfaceArtifactRepository
- Parameters:
artifactIri
- the target IRIartifact
- the artifact to store
-
removeArtifact
public void removeArtifact(org.eclipse.rdf4j.model.IRI artifactIri)
Description copied from interface:ArtifactRepository
Removes an artifact and all its derived artifacts from the repository.- Specified by:
removeArtifact
in interfaceArtifactRepository
- Parameters:
artifactIri
- the artifact IRI
-
clear
public void clear()
Description copied from interface:ArtifactRepository
Removes all artifacts from the repository.- Specified by:
clear
in interfaceArtifactRepository
-
getIriDecoder
public IRIDecoder getIriDecoder()
Description copied from interface:ArtifactRepository
Gets an IRI encoder / decoder usable with this repository.- Specified by:
getIriDecoder
in interfaceArtifactRepository
- Returns:
-
disconnect
public void disconnect()
Description copied from interface:ArtifactRepository
Disconnects the repository.- Specified by:
disconnect
in interfaceArtifactRepository
-
-