GrGen.NET v4.4 API: the libGr class library (the type exact interface gets generated)
IGraphModel Interface
Namespacesde.unika.ipd.grGen.libGrIGraphModel
A model of a GrGen graph.
Declaration Syntax
C#
public interface IGraphModel
Members
All MembersMethodsProperties



IconMemberDescription
AsGraph(Object, AttributeType, IGraph)
Called during debugging on user request, the implementation must return a named graph representation for the attribute. For attribute type object or a user defined type, which is treated as object. The attribute type may be null. The return graph must be of the same model as the graph handed in. The named graph is meant for display in the debugger, to visualize the internal structure of some attribute type. This way you can graphically inspect your own data types which are opaque to GrGen with its debugger.

BranchingFactorForEqualsAny
Tells about the number of threads to use for the equalsAny and equalsAnyStructurally functions The normal non-parallel isomorphy comparison functions are used if this value is below 2

CreateAndBindIndexSet(IGraph)
Called by the graph (generic implementation) to create and bind its index set (generated code). Always called by an empty graph just constructed.

EdgeModel
The model of the edges.

Emit(Object, AttributeType, IGraph)
Called during debugging or emit writing, the implementation must return a string representation for the attribute. For attribute type object or a user defined type, which is treated as object. The attribute type may be null. The string is meant for consumption by humans, it does not need to be parseable.

EnumAttributeTypes
Enumerates all enum attribute types declared for this model.

External(String, IGraph)
Called when the grs importer or the shell hits a line starting with "external". The content of that line is handed in. This is typically used while replaying changes containing a method call of an external type -- after such a line was recorded, by the method called, by writing to the recorder. This is meant to replay fine-grain changes of graph attributes of external type, in contrast to full assignments handled by Parse and Serialize.

ExternalTypes
The external types known to this model, it contains always and at least the object type, the bottom type of the external attribute types hierarchy.

FillIndexSetAsClone(IGraph, IGraph, IDictionary<(Of <<'(IGraphElement, IGraphElement>)>>))
Called on an index set that was created and bound, when the graph was copy constructed from an original graph, to fill in the already available cloned content from the original graph.

GraphElementsAreAccessibleByUniqueId
If true you may query the graph with GetGraphElement for a graph element of a given unique id

GraphElementUniquenessIsEnsured
If true you may query the graph elements with GetUniqueId for their unique id

IndexDescriptions
Enumerates the descriptions of all attribute and incidence count indices declared in this model.

IsEqual(Object, Object)
Calls the AttributeTypeObjectCopierComparer.IsEqual function for object type arguments, when an attribute of object or external type is compared for equality in the interpreted sequences; you may dispatch from there to the type exact comparisons, which are called directly from the compiled sequences.

IsEqualClassDefined
Tells whether AttributeTypeObjectCopierComparer.IsEqual functions are available, for object and external types.

IsLower(Object, Object)
Calls the AttributeTypeObjectCopierComparer.IsLower function for object type arguments, when an attribute of object or external type is compared for ordering in the interpreted sequences; you may dispatch from there to the type exact comparisons, which are called directly from the compiled sequences.

IsLowerClassDefined
Tells whether AttributeTypeObjectCopierComparer.IsLower functions are available, for object and external types.

MD5Hash
An MD5 hash sum of the model.

ModelName
The name of this model.

NodeModel
The model of the nodes.

Packages
Enumerates all packages declared in this model.

Parse(TextReader, AttributeType, IGraph)
Called during .grs import, at exactly the position in the text reader where the attribute begins. For attribute type object or a user defined type, which is treated as object. The implementation must parse from there on the attribute type requested. It must not parse beyond the serialized representation of the attribute, i.e. Peek() must return the first character not belonging to the attribute type any more. Returns the parsed object.

Serialize(Object, AttributeType, IGraph)
Called during .grs export, the implementation must return a string representation for the attribute. For attribute type object or a user defined type, which is treated as object. The serialized string must be parseable by Parse.

ValidateInfo
Enumerates all ValidateInfo objects describing constraints on the graph structure.

Assembly: libGr (Module: libGr) Version: 4.4.0.0 (4.4.0.0)