Data Structures

StoreCommand

  • Integer id
  • BridiStoreOperation operation
  • Bridi old
  • Bridi now

InezProblem

  • String id
  • String category
  • Sumti sumti

BridiReference

  • String id
  • String bridiId
  • String selbriId
  • position
  • String sumtiId

Sumti

  • String id
  • String representation

Bridi

  • String id
  • String representation
  • List<String> references

Delegates

InezImpl

API

  • initialize()

  • registerListener(BridiStoreChangeListener listener)

  • unregisterListener(BridiStoreChangeListener listener)

  • Stream<Bridi> query(String query)

  • Stream<Bridi> create(String query)

  • Set<Bridi> save(Collection<Bridi> values)

  • Stream<Bridi> findAllByRepresentation(String representation)

  • Optional<Bridi> findById(String id)

  • Sumti createSumti(String idString representation)

  • BridiReferenceRepository getBridiReferenceRepository()

  • Stream<Bridi> createFromdefinitions(String definitionName)

  • BridiElement root()

  • BridiElement byId(String id)

  • ProblemRepository getProblems()

dependencies

  • BridiStoreChangeListenersService
  • QueryProcessorService
  • BridiStoreHistoryRepository
  • BridiReferenceRepository
  • CreateBridiFromSumtiService
  • SaveBridiService
  • DeleteBridiService
  • FindBridiByIdService
  • GetBridiIdBySelbriAndSumtiIdsService
  • FindAllIdByRepresentationService
  • FindAllByRepresentationService
  • BridiElementSystemInitializationService
  • BridiElementFactory
  • CreateBridisFromQueryService
  • CreateSumtiService
  • ProblemRepository
  • CreateBridisFromDefinitionService

BridiElement

API

  • fixParent()

  • String getRepresentation()

  • Stream<BridiElement> getChildren()

  • BridiElement getType()

  • Stream<BridiElement> getReferences()

  • BridiElement getParent()

  • String toXml()

  • String toString()

  • isInstance(String typeId)

  • BridiElement create(String containerIdString typeIdString representation references)

dependencies

  • GetBridiElementRepresentationService
  • GetRelativeForBridiElementService
  • GetBridiElementChildrenService
  • GetBridiElementParentService
  • GetBridiElementTypeService
  • GetBridiElementReferencesService
  • RepresentBridiElementService
  • SumtiRepository
  • BridiReferenceRepository
  • AddReferencesService
  • IsInstanceService
  • CreateBridiElementService
  • BridiElementFactory
  • IsOfTypeService
  • GetBridiElementReferenceIdsService
  • GetBridiElementTypeIdService

Services

Save

Description

API

  • Stream<Bridi> apply(String topList<String> partList notAnyIndexList<Set<String>> foundIds)

dependencies

  • InezImpl
  • ParseTextService

CreateBridisFromQueryService

Description

API

  • Stream<Bridi> apply(String query)

dependencies

  • ParseTextService
  • CreateBridisFromParserOutputService
  • SaveBridiService
  • BridiElementFactory

QueryProcessorService

Description

for a nonexisting sumti returns the empty list

for an existing sumti returns the sumti

if more sumtis exist with the representation, return them all

for a reference, return the referenced bridi

for a reference to a nonexisting bridi, return an empty list

for a bridi with the matching representation returns it

for a bridi where the representation does not match, but the selbri and sumties do, finds it

'$?' returns a list of the any sumti

for a bridi where one of the sumties is '$?', the matching bridies return

for a bridi where all of the sumties is '$?', a ParseCancellationException is thrown

if no stored bridi matches the query with '$?', and empty list is returned

query works with the '$?' being deep down in the query

API

  • Stream<Bridi> apply(String query)

  • Stream<Bridi> apply(ParserOutput parserOutput)

dependencies

  • ParseTextService
  • FindAllByRepresentationService
  • FindAllIdByRepresentationService
  • GetBridiIdBySelbriAndSumtiIdsService
  • FindBridiByIdService
  • GetRelativeForBridiElementService
  • GetServiceByNameService

CreateBridisFromParserOutputService

Description

creates a list of bridis from the output of the parser - does not save them

API

  • Stream<Bridi> apply(ParserOutput parserOutput)

  • Stream<Bridi> apply(String topMap<StringList<String>> refMap)

dependencies

  • SumtiRepository

GetServiceByNameService

Description

API

  • BridiFunction apply(String serviceName)

dependencies

  • ApplicationContext
  • LoggerService

CreateBridisFromDefinitionService

Description

API

  • Stream<Bridi> apply(String definitionName)

dependencies

  • CreateBridisFromQueryService

SaveBridiService

Description

saving a bridi returns the old bridi if exists, and

- looks up the existing version of the sumti

- if there was an existing version, - then creates a bridi from it

- and cleans its references

- stores the id and representation in the sumtiRepository

- adds the references

- adds the save operation to the history with SAVE, the old and new bridi

- if there was no previous sumti, uses null in the history for it

the form with collection parameter saves all the bridis

API

  • Set<Bridi> apply(Collection<Bridi> values)

  • Bridi apply(Bridi bridi)

dependencies

  • SumtiRepository
  • NotifyStoreChangeService
  • CreateBridiFromSumtiService
  • RemoveReferencesService
  • AddReferencesService

DeleteBridiService

Description

delete deletes the bridi and returns it

- if there was no such bridi saved, a NoSuchElementException is thrown

- the references are cleared

- the id and representation are cleared from the repository

- notifies about the store change

API

  • Bridi apply(Bridi bridi)

dependencies

  • SumtiRepository
  • RemoveReferencesService
  • NotifyStoreChangeService

RemoveReferencesService

Description

removes references from the BridiReferenceRepository - removes all the sumti references for the bridi

API

  • apply(String bridiIdList<String> references)

dependencies

  • BridiReferenceRepository

FindBridiByIdService

Description

finds the bridi by Id

returns empty if no bridi found

API

  • Optional<Bridi> apply(String id)

dependencies

  • CreateBridiFromSumtiService
  • SumtiRepository

NotifyStoreChangeService

Description

API

  • apply(BridiStoreOperation saveObject objectBridi thing)

dependencies

AddReferencesService

Description

adds all the references of the bridi to the repository

if references is null, does nothing

for null references does nothing

for empty references does nothing

for each reference adds an entry to the bridireferencerepository

API

  • apply(String idList<String> references)

dependencies

  • BridiReferenceRepository

CreateBridiFromSumtiService

Description

creates a bridi from the sumti

API

  • Bridi apply(Sumti sumti)

dependencies

  • BridiReferenceRepository

FindAllByRepresentationService

Description

finds all bridis based on a representation

API

  • Stream<Bridi> apply(String representation)

dependencies

  • SumtiRepository
  • CreateBridiFromSumtiService

CreateSumtiService

Description

API

  • Sumti apply(String idString representation)

dependencies

  • SumtiRepository

GetBridiIdBySelbriAndSumtiIdsService

Description

returns the ids of all bridies with the given sumti, and with the given selbri in the given position

API

  • Stream<String> apply(String selbriIdString sumtiId position)

dependencies

  • BridiReferenceRepository

FindAllIdByRepresentationService

Description

returns the ids of all the sumties with the given representation

API

  • Stream<String> apply(String representation)

dependencies

  • SumtiRepository

IsOfTypeService

Description

API

  • apply(String idString typeId)

dependencies

  • GetBridiElementTypeIdService

GetBridiElementTypeService

Description

API

  • BridiElement apply(String id)

dependencies

  • GetBridiElementTypeIdService
  • BridiElementFactory

GetBridiElementRepresentationService

Description

API

  • String apply(String id)

dependencies

  • SumtiRepository

BridiElementFactory

Description

API

  • BridiElement apply(String id)

dependencies

  • AutowireCapableBeanFactory

IsInstanceService

Description

for noninstance returns false

for direct instance returns true

for indirect instance returns true

everything is a thing

API

  • apply(String objectIdString typeId)

dependencies

  • GetRelativeForBridiElementService

GetBridiElementParentService

Description

API

  • String apply(String id)

dependencies

  • GetRelativeForBridiElementService
  • SumtiRepository
  • BridiReferenceRepository

RepresentBridiElementService

Description

API

  • String apply(String id)

dependencies

  • GetBridiElementRepresentationService
  • GetBridiElementChildrenService
  • GetBridiElementParentService
  • GetBridiElementTypeService
  • GetBridiElementReferenceIdsService

GetBridiElementReferenceIdsService

Description

API

  • Stream<String> apply(String id)

dependencies

  • BridiReferenceRepository

GetRelativeForBridiElementService

Description

API

  • Stream<String> apply(String idString selbriId fromPosition toPosition)

dependencies

  • BridiReferenceRepository

BridiElementSystemInitializationService

Description

creates sumti IS_A

creates sumti CONTAINS

creates sumti ROOT

creates sumti THING

creates sumti CONTAINER

creates sumti UNPLACED

creates sumti TRUE

creates sumti FALSE

creates sumti IS_FUNCTION_FOR

creates sumti SAVE_FUNCTION_REF

creates sumti DOSAVE

creates sumti DIAGRAM

creates sumti DIAGRAM_ELEMENT

creates bridis from the definition file

logs success

API

  • apply()

dependencies

  • InezImpl
  • LoggerService

GetBridiElementReferencesService

Description

API

  • Stream<BridiElement> apply(String id)

dependencies

  • GetBridiElementReferenceIdsService
  • BridiElementFactory

GetBridiElementTypeIdService

Description

API

  • String apply(String id)

dependencies

  • GetRelativeForBridiElementService

CreateBridiElementService

Description

saves 3 bridis

the first one is the element

with the given representation

and the given rerferences

the second one is '{@elementId} is a {@typeId}'

the representation of the second one uses actual representations

the third one is '{@containerId} contains {@elementId}'

the representation of the third one uses actual representations

the references are saved

if the type does not exist, an IllegalArgumentException is thrown

if the container does not exist, an IllegalArgumentException is thrown

if the there is a nonexisting reference, an IllegalArgumentException is thrown

API

  • BridiElement apply(String containerIdString typeIdString representation references)

dependencies

  • SaveBridiService
  • FindBridiByIdService
  • BridiElementFactory

GetBridiElementChildrenService

Description

API

  • Stream<BridiElement> apply(String id)

dependencies

  • GetRelativeForBridiElementService
  • BridiReferenceRepository
  • BridiElementFactory

Repositories

BridiStoreHistoryRepository

  • extends: CrudRepository
  • stores: StoreCommand
  • id: String

Query definitions

BridiReferenceRepository

  • extends: CrudRepository
  • stores: BridiReference
  • id: String

Query definitions

  • Set<BridiReference> findAllByBridiId(String id)

  • Set<BridiReference> findAllBySelbriIdAndSumtiIdAndPosition(String selbriIdString sumtiId position)

  • deleteBybridiIdAndPositionAndSumtiId(String bridiIdInteger positionString sumtiId)

  • Optional<BridiReference> findByBridiIdAndPosition(String bridiId i)

  • Set<BridiReference> findAllByBridiIdAndPosition(String bridiId i)

SumtiRepository

  • extends: CrudRepository
  • stores: Sumti
  • id: String

Query definitions

  • Set<Sumti> findAllByRepresentation(String representation)

ProblemRepository

  • extends: CrudRepository
  • stores: InezProblem
  • id: String

Query definitions

Utilities

Glue

BridiStoreChangeListener

API

  • listen(StoreCommand operation)

Inez

API

  • registerListener(BridiStoreChangeListener listener)

  • unregisterListener(BridiStoreChangeListener listener)

  • Stream<Bridi> query(String query)

  • Stream<Bridi> create(String query)

  • Sumti createSumti(String idString representation)

  • Set<Bridi> save(Collection<Bridi> values)

  • Stream<Bridi> findAllByRepresentation(String representation)

  • Optional<Bridi> findById(String string)

  • Stream<Bridi> createFromdefinitions(String string)

  • BridiElement root()

  • BridiElement byId(String id)

  • initialize()

TestConfig

API