i3.dragos.gm.core.schema.filter
Class FilteringSchema

java.lang.Object
  extended by i3.dragos.gm.core.schema.filter.FilteringSchema
All Implemented Interfaces:
Schema

public class FilteringSchema
extends java.lang.Object
implements Schema

A Schema implementation that hides graph entity classes whose names start with a specific prefix.

All methods from the Schema interface are modified to not allow the creation of graph entity classes graphs with reserved names and to filter out these graphs from the results of get* and exists* methods.

For working directly with the underlying unfiltered graph pool the method turnFilteringOff() is provided. The method turnFilteringOn() reactivates filtering mechanism. Both methods affect both the schema pool and the associated graph pool instance.

Author:
Thomas Lettow <lettow@i3.informatik.rwth-aachen.de>

Constructor Summary
FilteringSchema(Schema schema, java.lang.String prefix)
          Creates a new FilteringSchema.
 
Method Summary
 void clear()
          Removes every class declaration from this schema.
 EdgeClass declareDirectedEdgeClass(java.lang.String name, boolean abstractClass, GraphEntityClass source, Cardinality srcCard, GraphEntityClass target, Cardinality trgCard)
          Behaves exactly like Schema.declareDirectedEdgeClass(String, boolean, GraphEntityClass, Cardinality, GraphEntityClass, Cardinality) except that name is not allowed to start with the reserved prefix.
 GraphClass declareGraphClass(java.lang.String name, boolean abstractClass)
          Behaves exactly like Schema.declareGraphClass(String, boolean) except that name is not allowed to start with the reserved prefix.
 GraphEntityClass declareGraphEntityClass(java.lang.String name)
          Behaves exactly like Schema.declareGraphEntityClass(String) except that name is not allowed to start with the reserved prefix.
 NodeClass declareNodeClass(java.lang.String name, boolean abstractClass)
          Behaves exactly like Schema.declareNodeClass(String, boolean) except that name is not allowed to start with the reserved prefix.
 RelationClass declareRelationClass(java.lang.String name, boolean abstractClass)
          Behaves exactly like Schema.declareRelationClass(String, boolean) except that name is not allowed to start with the reserved prefix.
 EdgeClass declareUndirectedEdgeClass(java.lang.String name, boolean abstractClass, GraphEntityClass entityClass, Cardinality cardinality)
          Behaves exactly like Schema.declareUndirectedEdgeClass(String, boolean, GraphEntityClass, Cardinality) except that name is not allowed to start with the reserved prefix.
 boolean equals(java.lang.Object obj)
          
 boolean existsEdgeClass(EdgeClass id)
          Behaves exactly like Schema.existsEdgeClass(EdgeClass) except that false is returned for classes with reserved names.
 boolean existsEdgeClass(java.lang.String name)
          Behaves exactly like Schema.existsEdgeClass(String) except that false is returned for reserved names.
 boolean existsGraphClass(GraphClass id)
          Behaves exactly like Schema.existsGraphClass(GraphClass) except that false is returned for classes with reserved names.
 boolean existsGraphClass(java.lang.String name)
          Behaves exactly like Schema.existsGraphClass(String) except that false is returned for reserved names.
 boolean existsGraphEntityClass(GraphEntityClass id)
          Behaves exactly like Schema.existsGraphEntityClass(GraphEntityClass) except that false is returned for classes with reserved names.
 boolean existsGraphEntityClass(java.lang.String name)
          Behaves exactly like Schema.existsGraphEntityClass(String) except that false is returned for reserved names.
 boolean existsNodeClass(NodeClass id)
          Behaves exactly like Schema.existsNodeClass(NodeClass) except that false is returned for classes with reserved names.
 boolean existsNodeClass(java.lang.String name)
          Behaves exactly like Schema.existsNodeClass(String) except that false is returned for reserved names.
 boolean existsRelationClass(RelationClass id)
          Behaves exactly like Schema.existsRelationClass(RelationClass) except that false is returned for classes with reserved names.
 boolean existsRelationClass(java.lang.String name)
          Behaves exactly like Schema.existsRelationClass(String) except that false is returned for reserved names.
 boolean existsRelationEndClass(RelationEndClass id)
          Behaves exactly like Schema.existsRelationEndClass(RelationEndClass) except that false is returned for classes with reserved names.
 boolean existsRelationEndClass(java.lang.String name)
          Behaves exactly like Schema.existsRelationEndClass(String) except that false is returned for reserved names.
 java.util.Collection<? extends EdgeClass> getAllEdgeClasses()
          Behaves exactly like Schema.getAllEdgeClasses() except that a classes with reserved names are filtered out.
 java.util.Collection<? extends GraphClass> getAllGraphClasses()
          Behaves exactly like Schema.getAllGraphClasses() except that a classes with reserved names are filtered out.
 java.util.Collection<? extends GraphEntityClass> getAllGraphEntityClasses()
          Behaves exactly like Schema.getAllGraphEntityClasses() except that a classes with reserved names are filtered out.
 java.util.Collection<? extends NodeClass> getAllNodeClasses()
          Behaves exactly like Schema.getAllNodeClasses() except that a classes with reserved names are filtered out.
 java.util.Collection<? extends RelationClass> getAllRelationClasses()
          Behaves exactly like Schema.getAllRelationClasses() except that a classes with reserved names are filtered out.
 EdgeClass getEdgeClassByName(java.lang.String name)
          Behaves exactly like Schema.getEdgeClassByName(String) except that a class with a reserved name is not found.
 GraphClass getGraphClassByName(java.lang.String name)
          Behaves exactly like Schema.getGraphClassByName(String) except that a class with a reserved name is not found.
 GraphEntityClass getGraphEntityClassByInternalIdentifier(java.io.Serializable identifier)
          Behaves exactly like Schema.getGraphEntityClassByInternalIdentifier(Serializable) except that a class with a reserved name is not found.
 GraphEntityClass getGraphEntityClassByName(java.lang.String name)
          Behaves exactly like Schema.getGraphEntityClassByName(String) except that a class with a reserved name is not found.
 NodeClass getNodeClassByName(java.lang.String name)
          Behaves exactly like Schema.getNodeClassByName(String) except that a class with a reserved name is not found.
 RelationClass getRelationClassByName(java.lang.String name)
          Behaves exactly like Schema.getRelationClassByName(String) except that a class with a reserved name is not found.
 RelationEndClass getRelationEndClassByName(java.lang.String name)
          Behaves exactly like Schema.getRelationEndClassByName(String) except that a class with a reserved name is not found.
 DefaultSchemaChecker getSchemaChecker()
          Returns the SchemaChecker of the wrapped schema.
 int hashCode()
          
 boolean isFilteringOn()
          Returns true if filtering mechanism is turned on.
 void turnFilteringOff()
          Deactivates filtering mechanism both of the schema and of the associated graph pool instance.
 void turnFilteringOn()
          Activates filtering mechanism both of the schema and of the associated graph pool instance.
 void undeclareGraphEntityClass(GraphEntityClass g)
          Behaves exactly like Schema.undeclareGraphEntityClass(i3.dragos.gm.core.schema.GraphEntityClass) except that classes starting with the reserved prefix are not undeclared.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilteringSchema

public FilteringSchema(Schema schema,
                       java.lang.String prefix)
Creates a new FilteringSchema.

Parameters:
schema - the wrapped Schema instance.
prefix - the prefix that determines which graph entity classes are filtered out.
Method Detail

declareGraphClass

public GraphClass declareGraphClass(java.lang.String name,
                                    boolean abstractClass)
                             throws EntityAlreadyExistsException,
                                    DragosException
Behaves exactly like Schema.declareGraphClass(String, boolean) except that name is not allowed to start with the reserved prefix.

Declare a new graph class and returns it.

Specified by:
declareGraphClass in interface Schema
Parameters:
name - The graph classes name.
abstractClass - Is the class abstract or not.
Returns:
the new graph class.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityAlreadyExistsException - if a schema entity with the same name has already been declared
DragosException - if something went wrong.

declareGraphEntityClass

public GraphEntityClass declareGraphEntityClass(java.lang.String name)
                                         throws EntityAlreadyExistsException,
                                                DragosException
Behaves exactly like Schema.declareGraphEntityClass(String) except that name is not allowed to start with the reserved prefix.

Declare a new abstract graph entity class and returns it. Graph entity classes are always abstract because they can't be instantiated.

Specified by:
declareGraphEntityClass in interface Schema
Parameters:
name - The graph entity classes name.
Returns:
the new graph entity class.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityAlreadyExistsException - if a schema entity with the same name has already been declared
DragosException - if something went wrong.

undeclareGraphEntityClass

public void undeclareGraphEntityClass(GraphEntityClass g)
                               throws EntityNotFoundException,
                                      EntityInUseException,
                                      DragosException
Behaves exactly like Schema.undeclareGraphEntityClass(i3.dragos.gm.core.schema.GraphEntityClass) except that classes starting with the reserved prefix are not undeclared.

Undeclares a graph entity class.

Deletion is cascading, meaning any dependent graph entity classes and attributes will be undeclared as well. You should also be aware that this method only ensures a consistent schema at core GM level (e.g. by simply removing the class from the class hierachy), which in most cases is not sufficient to ensure meaningful semantics at application level. Usually the application GM will perform additional checks and operations.

This method proceeds in the following order:

  1. If the class in question is a RelationClass, undeclares all its RelationEndClasses using this same method.
  2. Cuts all connections to super and sub classes using GraphEntityClass.removeSubClass(GraphEntityClass).
  3. Undeclares all attributes using GraphEntityClass.undeclareAllAttributes().
  4. If the class in question is the source or target type of an EdgeClass, or the target type of a RelationEndClass, it undeclares those using this same method.
  5. Calls GraphPool.removeAllInstances(GraphEntityClass) to remove all instances of the class from the GraphPool.
  6. Removes all MetaAttributes of the class.
  7. Finally removes the class itself.

Specified by:
undeclareGraphEntityClass in interface Schema
Parameters:
g - The graph entity class to undeclare.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityNotFoundException - if the class does not exist.
DragosException - if something else went wrong.
EntityInUseException

declareNodeClass

public NodeClass declareNodeClass(java.lang.String name,
                                  boolean abstractClass)
                           throws EntityAlreadyExistsException,
                                  DragosException
Behaves exactly like Schema.declareNodeClass(String, boolean) except that name is not allowed to start with the reserved prefix.

Declare a new node class and returns it.

Specified by:
declareNodeClass in interface Schema
Parameters:
name - The node classes name.
abstractClass - Is the class abstract or not.
Returns:
the new node class.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityAlreadyExistsException - if a schema entity with the same name has already been declared
DragosException - if something went wrong.

declareDirectedEdgeClass

public EdgeClass declareDirectedEdgeClass(java.lang.String name,
                                          boolean abstractClass,
                                          GraphEntityClass source,
                                          Cardinality srcCard,
                                          GraphEntityClass target,
                                          Cardinality trgCard)
                                   throws EntityAlreadyExistsException,
                                          EntityNotFoundException,
                                          DragosException
Behaves exactly like Schema.declareDirectedEdgeClass(String, boolean, GraphEntityClass, Cardinality, GraphEntityClass, Cardinality) except that name is not allowed to start with the reserved prefix.

Declare a new edge class for directed edges and returns it.

Specified by:
declareDirectedEdgeClass in interface Schema
Parameters:
name - The edge classes name.
abstractClass - Is the class abstract or not.
source - The graph entity class allowed as a source.
srcCard - The source cardinality.
target - The graph entity class allowed as a target.
trgCard - The target cardinality.
Returns:
the new edge class.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityAlreadyExistsException - if a schema entity with the same name has already been declared
EntityNotFoundException - if the source or target graph class do not exist.
DragosException - if something went wrong.

declareUndirectedEdgeClass

public EdgeClass declareUndirectedEdgeClass(java.lang.String name,
                                            boolean abstractClass,
                                            GraphEntityClass entityClass,
                                            Cardinality cardinality)
                                     throws EntityAlreadyExistsException,
                                            EntityNotFoundException,
                                            DragosException
Behaves exactly like Schema.declareUndirectedEdgeClass(String, boolean, GraphEntityClass, Cardinality) except that name is not allowed to start with the reserved prefix.

Declare a new edge class for undirected edges and returns it.

Specified by:
declareUndirectedEdgeClass in interface Schema
Parameters:
name - The edge classes name.
abstractClass - Is the class abstract or not.
entityClass - The graph entity class allowed as source and target.
cardinality - The cardinality of the edge.
Returns:
the new edge class.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityAlreadyExistsException - if a schema entity with the same name has already been declared
EntityNotFoundException - if the source or target graph class do not exist.
DragosException - if something went wrong.

declareRelationClass

public RelationClass declareRelationClass(java.lang.String name,
                                          boolean abstractClass)
                                   throws EntityAlreadyExistsException,
                                          DragosException
Behaves exactly like Schema.declareRelationClass(String, boolean) except that name is not allowed to start with the reserved prefix.

Declare a new relations class and returns it.

Specified by:
declareRelationClass in interface Schema
Parameters:
name - The relation classes name.
abstractClass - Is the class abstract or not.
Returns:
the new relation class.
Throws:
java.lang.IllegalArgumentException - if name starts with reserved prefix.
EntityAlreadyExistsException - if a schema entity with the same name has already been declared
DragosException - if something went wrong.

existsGraphEntityClass

public boolean existsGraphEntityClass(GraphEntityClass id)
                               throws DragosException
Behaves exactly like Schema.existsGraphEntityClass(GraphEntityClass) except that false is returned for classes with reserved names.

Returns true if the schema entity is declared in this schema and false otherwise.

Specified by:
existsGraphEntityClass in interface Schema
Parameters:
id - The schema entity.
Returns:
true if the schema entity is declared.
Throws:
DragosException - if something went wrong.

existsGraphEntityClass

public boolean existsGraphEntityClass(java.lang.String name)
                               throws DragosException
Behaves exactly like Schema.existsGraphEntityClass(String) except that false is returned for reserved names.

Returns true if the schema entity is declared in this schema and false otherwise.

Specified by:
existsGraphEntityClass in interface Schema
Parameters:
name - The name of the schema entity.
Returns:
true if the schema entity is declared.
Throws:
DragosException - if something went wrong.

existsGraphClass

public boolean existsGraphClass(GraphClass id)
                         throws DragosException
Behaves exactly like Schema.existsGraphClass(GraphClass) except that false is returned for classes with reserved names.

Returns true if the graph class is declared in this schema and false otherwise.

Specified by:
existsGraphClass in interface Schema
Parameters:
id - The graph class.
Returns:
true if the graph class is declared.
Throws:
DragosException - if something went wrong.

existsGraphClass

public boolean existsGraphClass(java.lang.String name)
                         throws DragosException
Behaves exactly like Schema.existsGraphClass(String) except that false is returned for reserved names.

Returns true if the graph class is declared in this schema and false otherwise.

Specified by:
existsGraphClass in interface Schema
Parameters:
name - The name of the graph class.
Returns:
true if the graph class is declared.
Throws:
DragosException - if something went wrong.

existsNodeClass

public boolean existsNodeClass(NodeClass id)
                        throws DragosException
Behaves exactly like Schema.existsNodeClass(NodeClass) except that false is returned for classes with reserved names.

Returns true if the node class is declared in this schema and false otherwise.

Specified by:
existsNodeClass in interface Schema
Parameters:
id - The node class.
Returns:
true if the node class is declared.
Throws:
DragosException - if something went wrong.

existsNodeClass

public boolean existsNodeClass(java.lang.String name)
                        throws DragosException
Behaves exactly like Schema.existsNodeClass(String) except that false is returned for reserved names.

Returns true if the node class is declared in this schema and false otherwise.

Specified by:
existsNodeClass in interface Schema
Parameters:
name - The name of the graph class.
Returns:
true if the node class is declared.
Throws:
DragosException - if something went wrong.

existsEdgeClass

public boolean existsEdgeClass(EdgeClass id)
                        throws DragosException
Behaves exactly like Schema.existsEdgeClass(EdgeClass) except that false is returned for classes with reserved names.

Returns true if the edge class is declared in this schema and false otherwise.

Specified by:
existsEdgeClass in interface Schema
Parameters:
id - The edge class.
Returns:
true if the edge class is declared.
Throws:
DragosException - if something went wrong.

existsEdgeClass

public boolean existsEdgeClass(java.lang.String name)
                        throws DragosException
Behaves exactly like Schema.existsEdgeClass(String) except that false is returned for reserved names.

Returns true if the edge class is declared in this schema and false otherwise.

Specified by:
existsEdgeClass in interface Schema
Parameters:
name - The name of the edge class.
Returns:
true if the edge class is declared.
Throws:
DragosException - if something went wrong.

existsRelationClass

public boolean existsRelationClass(RelationClass id)
                            throws DragosException
Behaves exactly like Schema.existsRelationClass(RelationClass) except that false is returned for classes with reserved names.

Returns true if the relation class is declared in this schema and false otherwise.

Specified by:
existsRelationClass in interface Schema
Parameters:
id - The relation class.
Returns:
true if the relation class is declared.
Throws:
DragosException - if something went wrong.

existsRelationClass

public boolean existsRelationClass(java.lang.String name)
                            throws DragosException
Behaves exactly like Schema.existsRelationClass(String) except that false is returned for reserved names.

Returns true if the relation class is declared in this schema and false otherwise.

Specified by:
existsRelationClass in interface Schema
Parameters:
name - The name of the relation class.
Returns:
true if the relation class is declared.
Throws:
DragosException - if something went wrong.

existsRelationEndClass

public boolean existsRelationEndClass(RelationEndClass id)
                               throws DragosException
Behaves exactly like Schema.existsRelationEndClass(RelationEndClass) except that false is returned for classes with reserved names.

Returns true if the relation end class is declared in this schema and false otherwise.

Specified by:
existsRelationEndClass in interface Schema
Parameters:
id - The relation end class.
Returns:
true if the relation end class is declared.
Throws:
DragosException - if something went wrong.

existsRelationEndClass

public boolean existsRelationEndClass(java.lang.String name)
                               throws DragosException
Behaves exactly like Schema.existsRelationEndClass(String) except that false is returned for reserved names.

Returns true if the relation end class is declared in this schema and false otherwise.

Specified by:
existsRelationEndClass in interface Schema
Parameters:
name - The name of the relation end class.
Returns:
true if the relation end class is declared.
Throws:
DragosException - if something went wrong.

getGraphEntityClassByName

public GraphEntityClass getGraphEntityClassByName(java.lang.String name)
                                           throws EntityNotFoundException,
                                                  DragosException
Behaves exactly like Schema.getGraphEntityClassByName(String) except that a class with a reserved name is not found.

Returns the graph entity class specified by the given name.

Specified by:
getGraphEntityClassByName in interface Schema
Parameters:
name - The name of the class (which must not be null).
Returns:
The class with the given name.
Throws:
EntityNotFoundException - if no class with this name could be found.
DragosException - if something else went wrong.

getGraphClassByName

public GraphClass getGraphClassByName(java.lang.String name)
                               throws EntityNotFoundException,
                                      DragosException
Behaves exactly like Schema.getGraphClassByName(String) except that a class with a reserved name is not found.

Returns the graph class specified by the given name.

Specified by:
getGraphClassByName in interface Schema
Parameters:
name - The name of the class (which must not be null).
Returns:
The class with the given name.
Throws:
EntityNotFoundException - if no class with this name could be found.
DragosException - if something else went wrong.

getNodeClassByName

public NodeClass getNodeClassByName(java.lang.String name)
                             throws EntityNotFoundException,
                                    DragosException
Behaves exactly like Schema.getNodeClassByName(String) except that a class with a reserved name is not found.

Returns the node class specified by the given name.

Specified by:
getNodeClassByName in interface Schema
Parameters:
name - The name of the class (which must not be null).
Returns:
The class with the given name.
Throws:
EntityNotFoundException - if no class with this name could be found.
DragosException - if something else went wrong.

getEdgeClassByName

public EdgeClass getEdgeClassByName(java.lang.String name)
                             throws EntityNotFoundException,
                                    DragosException
Behaves exactly like Schema.getEdgeClassByName(String) except that a class with a reserved name is not found.

Returns the edge class specified by the given name.

Specified by:
getEdgeClassByName in interface Schema
Parameters:
name - The name of the class (which must not be null).
Returns:
The class with the given name.
Throws:
EntityNotFoundException - if no class with this name could be found.
DragosException - if something else went wrong.

getRelationClassByName

public RelationClass getRelationClassByName(java.lang.String name)
                                     throws EntityNotFoundException,
                                            DragosException
Behaves exactly like Schema.getRelationClassByName(String) except that a class with a reserved name is not found.

Returns the relation class specified by the given name.

Specified by:
getRelationClassByName in interface Schema
Parameters:
name - The name of the class (which must not be null).
Returns:
The class with the given name.
Throws:
EntityNotFoundException - if no class with this name could be found.
DragosException - if something else went wrong.

getRelationEndClassByName

public RelationEndClass getRelationEndClassByName(java.lang.String name)
                                           throws EntityNotFoundException,
                                                  DragosException
Behaves exactly like Schema.getRelationEndClassByName(String) except that a class with a reserved name is not found.

Returns the relation end class specified by the given name.

Specified by:
getRelationEndClassByName in interface Schema
Parameters:
name - The name of the class (which must not be null).
Returns:
The class with the given name.
Throws:
EntityNotFoundException - if no class with this name could be found.
DragosException - if something else went wrong.

getGraphEntityClassByInternalIdentifier

public GraphEntityClass getGraphEntityClassByInternalIdentifier(java.io.Serializable identifier)
                                                         throws EntityNotFoundException,
                                                                DragosException
Behaves exactly like Schema.getGraphEntityClassByInternalIdentifier(Serializable) except that a class with a reserved name is not found.

Retrieves a graph entity class by its internal identifier.

Specified by:
getGraphEntityClassByInternalIdentifier in interface Schema
Parameters:
identifier - The internal identifier.
Returns:
The requested GraphEntity (subclass).
Throws:
EntityNotFoundException - if the graph entity does not exist.
DragosException - if something else went wrong.

getAllEdgeClasses

public java.util.Collection<? extends EdgeClass> getAllEdgeClasses()
                                                            throws DragosException
Behaves exactly like Schema.getAllEdgeClasses() except that a classes with reserved names are filtered out.

Returns a collection containing all edge classes defined in the schema. The elements in the collection are of type Edge.

Specified by:
getAllEdgeClasses in interface Schema
Returns:
All edge classes defined in the schema.
Throws:
DragosException - if queries are not allowed, or something else went wrong.

getAllGraphClasses

public java.util.Collection<? extends GraphClass> getAllGraphClasses()
                                                              throws DragosException
Behaves exactly like Schema.getAllGraphClasses() except that a classes with reserved names are filtered out.

Returns a collection containing all graph classes defined in the schema. The elements in the collection are of type Graph.

Specified by:
getAllGraphClasses in interface Schema
Returns:
All graph classes defined in the schema.
Throws:
DragosException - if queries are not allowed, or something else went wrong.

getAllNodeClasses

public java.util.Collection<? extends NodeClass> getAllNodeClasses()
                                                            throws DragosException
Behaves exactly like Schema.getAllNodeClasses() except that a classes with reserved names are filtered out.

Returns a collection containing all node classes defined in the schema. The elements in the collection are of type Node.

Specified by:
getAllNodeClasses in interface Schema
Returns:
All node classes defined in the schema.
Throws:
DragosException - if queries are not allowed, or something else went wrong.

getAllRelationClasses

public java.util.Collection<? extends RelationClass> getAllRelationClasses()
                                                                    throws DragosException
Behaves exactly like Schema.getAllRelationClasses() except that a classes with reserved names are filtered out.

Returns a collection containing all relation classes defined in the schema. The elements in the collection are of type Relation.

Specified by:
getAllRelationClasses in interface Schema
Returns:
All relation classes defined in the schema.
Throws:
DragosException - if queries are not allowed, or something else went wrong.

getAllGraphEntityClasses

public java.util.Collection<? extends GraphEntityClass> getAllGraphEntityClasses()
                                                                          throws DragosException
Behaves exactly like Schema.getAllGraphEntityClasses() except that a classes with reserved names are filtered out.

Returns a collection containing all graph entity classes defined in the schema. The elements in the collection are of type GraphEntity.

Specified by:
getAllGraphEntityClasses in interface Schema
Returns:
all graph entity classes defined in the schema.
Throws:
DragosException - if something went wrong.

clear

public void clear()
           throws DragosException
Removes every class declaration from this schema. Removal follows the same order and rules as if Schema.undeclareGraphEntityClass(GraphEntityClass) was called on each graph entity class separately (skipping classes already removed by cascading deletion, of course).

Attention: no filtering of reserved entities.

TODO: filtering?

Specified by:
clear in interface Schema
Throws:
DragosException - if something went wrong.

getSchemaChecker

public DefaultSchemaChecker getSchemaChecker()
Returns the SchemaChecker of the wrapped schema.

Specified by:
getSchemaChecker in interface Schema
Returns:
the SchemaChecker of the wrapped schema.
See Also:
Schema.getSchemaChecker()

isFilteringOn

public boolean isFilteringOn()
Returns true if filtering mechanism is turned on.

Returns:
true if filtering mechanism is turned on.

turnFilteringOn

public void turnFilteringOn()
Activates filtering mechanism both of the schema and of the associated graph pool instance.


turnFilteringOff

public void turnFilteringOff()
Deactivates filtering mechanism both of the schema and of the associated graph pool instance.


hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)

Overrides:
equals in class java.lang.Object


Copyright © 2002-2008 RWTH Aachen, Department of Computer Science 3 (Software Engineering). All Rights Reserved.