LightJason - AgentSpeak(L++)
org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M > Interface Template Reference

interface of a physical beliefbase storage More...

+ Inheritance diagram for org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >:
+ Collaboration diagram for org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >:

Public Member Functions

void clear ()
 clears all elements More...
 
boolean containsMultiElement ( @Nonnull final String p_key)
 contains a multi-element More...
 
boolean containsSingleElement ( @Nonnull final String p_key)
 contains a single-element More...
 
boolean empty ()
 checks if a storage is empty More...
 
Collection< N > getMultiElement ( @Nonnull final String p_key)
 returns a collection of multi-elementy by name More...
 
getSingleElement ( @Nonnull final String p_key)
 returns a single-element by the name More...
 
getSingleElementOrDefault ( @Nonnull final String p_key, final M p_default)
 returns a single-element by the name More...
 
boolean putMultiElement ( @Nonnull final String p_key, final N p_value)
 puts a multi-element into the storage More...
 
boolean putSingleElement ( @Nonnull final String p_key, final M p_value)
 puts a single-element into the storage More...
 
boolean putSingleElementIfAbsent ( @Nonnull final String p_key, final M p_value)
 puts a single-element if it is absent More...
 
boolean removeMultiElement ( @Nonnull final String p_key, final N p_value)
 removes a multi-element from the storage More...
 
boolean removeSingleElement ( @Nonnull final String p_key)
 removes a single-element from the storage More...
 
int size ()
 number of multi elements More...
 
Stream< N > streamMultiElements ()
 returns a stream over all multi-elements More...
 
Stream< M > streamSingleElements ()
 returns a stream over all single-elements More...
 
IAgent<?> update ( @Nonnull final IAgent<?> p_agent)
 updates all items More...
 

Detailed Description

Template Parameters
Nmultiple elements
Msingle elements
Tagent type
Warning
internal data structure must be thread-safe

Definition at line 41 of file beliefbase/storage/IStorage.java.

Member Function Documentation

◆ clear()

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.clear().

+ Here is the caller graph for this function:

◆ containsMultiElement()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.containsMultiElement ( @Nonnull final String  p_key)
Parameters
p_keykey
Returns
boolean existing flag

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.containsLiteral().

+ Here is the caller graph for this function:

◆ containsSingleElement()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.containsSingleElement ( @Nonnull final String  p_key)
Parameters
p_keykey
Returns
boolean existing flag

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.containsView().

+ Here is the caller graph for this function:

◆ empty()

Returns
empty boolean

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.empty().

+ Here is the caller graph for this function:

◆ getMultiElement()

Collection<N> org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.getMultiElement ( @Nonnull final String  p_key)
Parameters
p_keyname
Returns
collection of multi-elements

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.literal().

+ Here is the caller graph for this function:

◆ getSingleElement()

M org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.getSingleElement ( @Nonnull final String  p_key)
Parameters
p_keykey
Returns
single-element or null

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.view().

+ Here is the caller graph for this function:

◆ getSingleElementOrDefault()

M org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.getSingleElementOrDefault ( @Nonnull final String  p_key,
final M  p_default 
)
Parameters
p_keykey
p_defaultdefault element
Returns
single-element or the default element

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.viewOrDefault().

+ Here is the caller graph for this function:

◆ putMultiElement()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.putMultiElement ( @Nonnull final String  p_key,
final N  p_value 
)
Parameters
p_keykey
p_valuemulti-element
Returns
boolean if the element can be stored

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.add().

+ Here is the caller graph for this function:

◆ putSingleElement()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.putSingleElement ( @Nonnull final String  p_key,
final M  p_value 
)
Parameters
p_keykey
p_valuesingle-element
Returns
boolean if the element can be stored

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.add().

+ Here is the caller graph for this function:

◆ putSingleElementIfAbsent()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.putSingleElementIfAbsent ( @Nonnull final String  p_key,
final M  p_value 
)

◆ removeMultiElement()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.removeMultiElement ( @Nonnull final String  p_key,
final N  p_value 
)
Parameters
p_keykey
p_valuemulti-element
Returns
boolean if the element can removed

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.remove().

+ Here is the caller graph for this function:

◆ removeSingleElement()

boolean org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.removeSingleElement ( @Nonnull final String  p_key)
Parameters
p_keykey
Returns
boolean if the element can be removed

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.remove().

+ Here is the caller graph for this function:

◆ size()

Returns
element number

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.size().

+ Here is the caller graph for this function:

◆ streamMultiElements()

Stream<N> org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.streamMultiElements ( )
Returns
multi-element stream

Implemented in org.lightjason.agentspeak.beliefbase.storage.CSingleStorage< N, M >, org.lightjason.agentspeak.beliefbase.storage.CMultiStorage< N, M >, and org.lightjason.agentspeak.beliefbase.storage.CSingleOnlyStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.clear(), and org.lightjason.agentspeak.beliefbase.CBeliefbase.streamLiteral().

+ Here is the caller graph for this function:

◆ streamSingleElements()

◆ update()

IAgent<?> org.lightjason.agentspeak.beliefbase.storage.IStorage< N, M >.update ( @Nonnull final IAgent<?>  p_agent)
Parameters
p_agentagent which calls the update
Returns
agent

Implemented in org.lightjason.agentspeak.beliefbase.storage.IBaseStorage< N, M >.

Referenced by org.lightjason.agentspeak.beliefbase.CBeliefbase.update().

+ Here is the caller graph for this function: