Click or drag to resize

IGraphModel Interface

A model of a GrGen graph.

Namespace:  de.unika.ipd.grGen.libGr
Assembly:  libGr (in libGr.dll) Version: GrGen.NET 4.5
Syntax
C#
public interface IGraphModel

The IGraphModel type exposes the following members.

Properties
  NameDescription
Public propertyBranchingFactorForEqualsAny
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
Public propertyEdgeModel
The model of the edges.
Public propertyEnumAttributeTypes
Enumerates all enum attribute types declared for this model.
Public propertyExternalTypes
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.
Public propertyGraphElementsAreAccessibleByUniqueId
If true you may query the graph with GetGraphElement for a graph element of a given unique id
Public propertyGraphElementUniquenessIsEnsured
If true you may query the graph elements with GetUniqueId for their unique id
Public propertyIndexDescriptions
Enumerates the descriptions of all attribute and incidence count indices declared in this model.
Public propertyIsEqualClassDefined
Tells whether AttributeTypeObjectCopierComparer.IsEqual functions are available, for object and external types.
Public propertyIsLowerClassDefined
Tells whether AttributeTypeObjectCopierComparer.IsLower functions are available, for object and external types.
Public propertyMD5Hash
An MD5 hash sum of the model.
Public propertyModelName
The name of this model.
Public propertyNodeModel
The model of the nodes.
Public propertyPackages
Enumerates all packages declared in this model.
Public propertyValidateInfo
Enumerates all ValidateInfo objects describing constraints on the graph structure.
Top
Methods
  NameDescription
Public methodAsGraph
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.
Public methodCreateAndBindIndexSet
Called by the graph (generic implementation) to create and bind its index set (generated code). Always called by an empty graph just constructed.
Public methodEmit
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.
Public methodExternal
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.
Public methodFillIndexSetAsClone
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.
Public methodIsEqual
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.
Public methodIsLower
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.
Public methodParse
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.
Public methodSerialize
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.
Top
See Also