Salt  3.4.2
A powerful, tagset-independent and theory-neutral meta model and API for storing, manipulating, and representing nearly all types of linguistic data .
org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R > Class Template Reference

Inherits org.corpus_tools.salt.graph.impl.GraphImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >, org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >, and org.corpus_tools.salt.extensions.notification.graph.Notifier.

Public Member Functions

List< ListenergetListener ()
 Returns an unmodifiable list of all listeners.If no listener is registered null is returned.
Returns
all registered listeners

 
synchronized void addListener (Listener listener)
 Adds a new listener, which then will be notified about a change in this object.
Parameters
listenerto be notified

 
void addListener (Collection< Listener > listener)
 Adds a set of new listener, which then will be notified about a change in this object.
Parameters
listenerto be notified

 
synchronized void removeListener (Listener listener)
 Removes a listener, which won't be notified about a change in this object anymore.
Parameters
listenerto be notified

 
Graph<?, ?, ?> getOwner ()
 
void setOwner (Graph<?, ?, ?> owner)
 
void addLabel (Label label)
 Adds the given Label object to the list of labels.
Parameters
labelthe Label object to be added
Notifies all registered listeners.
 
void removeLabel (String qName)
 {@inheritDoc LabelableElement::removeLabel(String)} In case the passed qualified name is equal to SaltUtil#LABEL_ID_QNAME the internal reference to identifier is set to null. Notifies all registered listeners.
 
void removeAll ()
 {@inheritDoc LabelableElement::removeAll()} Notifies all registered listeners.
 
void addNode (N node)
 Adds the passed node to this graph and updates indexes. More...
 
void removeNode (N node)
 Removes the passed node from this graph and cleans all indexes. More...
 
void addRelation (Relation<? extends N, ? extends N > relation)
 Adds the passed relation to this graph and updates indexes. More...
 
void removeRelation (Relation<? extends N, ? extends N > relation)
 Removes the passed relation from this graph. More...
 
void removeRelations ()
 Removes all relations from this graph and cleans all indexes.
 
void addLayer (L layer)
 Adds the passed layer to this graph. More...
 
void removeLayer (L layer)
 Removes the passed layer from this graph and cleans all indexes. More...
 
- Public Member Functions inherited from org.corpus_tools.salt.graph.impl.GraphImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >
 GraphImpl (Graph< N, R, L > delegate)
 Initializes an object of type Graph. More...
 
IndexMgr getIndexMgr ()
 Returns the index manager. More...
 
 GraphImpl (int expectedNodes, int expectedRelations)
 Instantiates a new graph object and sets the initial capacity for all indexes to the passed ones. More...
 
List< N > getNodes ()
 {@inheritDoc Graph::getNodes()}
 
getNode (String nodeId)
 {@inheritDoc Graph::getNode(String)}
 
boolean containsNode (String nodeId)
 {@inheritDoc Graph::containsNode(String)}
 
List< R > getRelations ()
 {@inheritDoc Graph::getRelations()}
 
getRelation (String relationId)
 {@inheritDoc Graph::getRelation(String)}
 
List< R > getRelations (String sourceNodeId, String targetNodeId)
 Returns all relations,which connects the two passed nodes.
Parameters
sourceNodeIdthe id of the source node
targetNodeIdthe id of the target node
Returns
returns all nodes between source node and target node

 
List< R > getInRelations (String nodeId)
 Returns all relations, which have the node corresponding to the passed id as their target node.
Parameters
nodeIdid corresponding to the node, for which all incoming relations should be searched
Returns
a list of all incoming relations

 
List< R > getOutRelations (String nodeId)
 Returns all relations, which have the node corresponding to the passed id as their source node.
Parameters
nodeIdid corresponding to the node, for which all outgoing relations should be searched
Returns
a list of all outgoing relations

 
boolean containsRelation (String relationId)
 {@inheritDoc Graph::containsRelation(String)}
 
Set< L > getLayers ()
 Returns a set of layers contained by this graph.
Returns
all contained layers

 
getLayer (String layerId)
 Returns a layer corresponding to the passed id, if such a layer is contained in the graph.
Parameters
layerIdid of the layer to be searched for

 
boolean containsLayer (String layerId)
 {@inheritDoc Graph::containsLayer(String)}
 
- Public Member Functions inherited from org.corpus_tools.salt.graph.impl.IdentifiableElementImpl
 IdentifiableElementImpl (IdentifiableElement delegate)
 
Identifier getIdentifier ()
 {@inheritDoc IdentifiableElement::getIdentifier()}
 
void setIdentifier (Identifier identifier)
 {@inheritDoc IdentifiableElement::setIdentifier(Identifier)}
 
String getId ()
 {@inheritDoc IdentifiableElement::getId()}
 
void setId (String id)
 {@inheritDoc IdentifiableElement::setId(String)}
 
String toString ()
 
- Public Member Functions inherited from org.corpus_tools.salt.graph.impl.LabelableElementImpl
 LabelableElementImpl (LabelableElement delegatee)
 Initializes a new object and sets an internal delegate. More...
 
Collection< LabelgetLabels ()
 {@inheritDoc LabelableElement::getLabels()}
 
Label getLabel (String qName)
 {@inheritDoc LabelableElement::getLabel(String)}
 
Label getLabel (String namespace, String name)
 {@inheritedDoc LabelableElement::getLabel(String, String)}
 
Set< LabelgetLabelsByNamespace (String namespace)
 {@inheritDoc LabelableElement::getLabelsByNamespace(String)}
 
void basicAddLabel (Label label)
 This is an internally used method. More...
 
void basicRemoveLabel (String qName)
 This is an internally used method. More...
 
void removeLabel (String namespace, String name)
 {@inheritDoc LabelableElement::removeLabel(String, String))}
 
boolean containsLabel (String qName)
 {@inheritDoc LabelableElement::containsLabel(String)}
 
Integer sizeLabels ()
 {@inheritDoc LabelableElement::sizeLabels()}
 

Protected Attributes

List< ListenerlistenerList = null
 
- Protected Attributes inherited from org.corpus_tools.salt.graph.impl.GraphImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >
IndexMgr indexMgr = null
 Index manager.
 
int expectedNodes = 16
 Number of expected nodes to initialize indexes.
 
int expectedRelations = 16
 Number of expected relations to initialize indexes.
 
int approximatedNodeDegree = expectedRelations / expectedNodes
 Approximated node degree, which is expectedRelations / expectedNodes.
 
- Protected Attributes inherited from org.corpus_tools.salt.graph.impl.LabelableElementImpl
LabelableElement delegate = null
 A delegate object of the same type. More...
 

Additional Inherited Members

- Static Public Attributes inherited from org.corpus_tools.salt.graph.impl.LabelableElementImpl
static final int EXPECTED_NUMBER_OF_LABELS = 5
 Determines the expected number of labels.
 
- Protected Member Functions inherited from org.corpus_tools.salt.graph.impl.GraphImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >
Graph< N, R, L > getDelegate ()
 Returns the delegate object.If delegate is not null, all functions of this method are delegated to the delegate object. Setting delegate makes this object to a container.
Returns
the delegate object

 
void init ()
 Initializes an object of type GraphImpl. More...
 
void basicAddNode (N node)
 This is an internally used method. More...
 
void basicRemoveNode (N node)
 This is an internally used method. More...
 
void basicAddRelation (Relation<? extends Node, ? extends Node > relation)
 This is an internally used method. More...
 
void update (Object oldValue, Object container, UPDATE_TYPE updateType) throws SaltException
 Updates all graph internal indexes, concerning the kind of the update which has been made. More...
 
void basicRemoveRelation (Relation<? extends N, ? extends N > rel)
 This is an internally used method. More...
 
void basicAddLayer (L layer)
 This is an internally used method. More...
 
void basicRemoveLayer (L layer)
 This is an internally used method. More...
 

Member Function Documentation

◆ addLayer()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.addLayer ( layer)

Adds the passed layer to this graph.

If layer is null or layer is already contained nothing is inserted. The passed layer and this graph will be double chained, which means the method Layer#getGraph() will return this graph. If the passed layer contains nodes or relations, which are not already contained by the graph, they will be added.

Parameters
layerlayer to be inserted

Implements org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.

◆ addNode()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.addNode ( node)

Adds the passed node to this graph and updates indexes.

If node is null or node is already contained nothing is inserted. The passed node and this graph will be double chained, which means the method Node#getGraph() will return this graph.

Parameters
nodenode to be inserted

Implements org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.

◆ addRelation()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.addRelation ( Relation<? extends N, ? extends N >  relation)

Adds the passed relation to this graph and updates indexes.

If relation is null or relation is already contained nothing is inserted. The passed relation and this graph will be double chained, which means the method Relation#getGraph() will return this graph.

Parameters
relationrelation to be inserted

Implements org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.

◆ getOwner()

Graph<?, ?, ?> org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.getOwner ( )
Returns
the owner

◆ removeLayer()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.removeLayer ( layer)

Removes the passed layer from this graph and cleans all indexes.

It also ensures, that the graph is removed from the layer, thus invoking Layer#getGraph() will return null. The double chaining between this graph and the passed layer will be cut off. If the passed layer is null nothing happens.

Parameters
layerthe layer to be removed

Implements org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.

◆ removeNode()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.removeNode ( node)

Removes the passed node from this graph and cleans all indexes.

It also ensures, that the graph is removed from the node, thus invoking Node#getGraph() will return null. The double chaining between this graph and the passed node will be cut off. If the passed node is null nothing is done.

Parameters
nodethe node to be removed

Implements org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.

◆ removeRelation()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.removeRelation ( Relation<? extends N, ? extends N >  relation)

Removes the passed relation from this graph.

If a relation is removed, it will be deleted from all indexes. If the passed relation is null, nothing is removed.

Parameters
relationrelation to be removed

Implements org.corpus_tools.salt.graph.Graph< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.

◆ setOwner()

void org.corpus_tools.salt.extensions.notification.graph.impl.GraphNotifierImpl< N extends Node, R extends Relation< N, N, L extends Layer< N, R >.setOwner ( Graph<?, ?, ?>  owner)
Parameters
ownerthe owner to set