de.grogra.graph
Interface ContextDependent

All Known Subinterfaces:
BSplineCurve, BSplineCurveList, BSplineSurface, Polygons, VertexGrid, VertexList, VertexSet
All Known Implementing Classes:
Arc, BezierCurve, BezierSurface, BSplineCurveImpl, BSplineOfVertices, BSplineSurfaceImpl, Circle, Circular, ContextDependentBase, Curve, CurveRef, CurveSequence, Ellipse, ExtendedSweep, ExtrudedSurface, GRSMesh, HeightField, Helix, ImageHeightField, IsoCurve, NetworkHeightField, PolygonMesh, PolygonsBase, ProductSurface, ProfileSweep, RegularPolygon, RuledSurface, Sequence, SkinnedSurface, StraightLine, SubGrid, SurfaceRef, Sweep, SweepSequence, SwungSurface, VertexGridImpl, VertexListImpl, VertexSequence, VertexSetBase

public interface ContextDependent

This interface is implemented by attribute values and other objects whose semantics may depend on the object context of the current GraphState. It is used as part of a caching mechanism (see Cache) in order to determine if the context has changed or not.

As an example, consider a shape attribute of a node in a graph: It could be a polyline starting at this node (which constitutes the object context) and connecting all node positions downwards to the root. Thus, the semantics (a polyline connecting node positions) depends on the context (the node to start with and its ancestors in the graph).

Author:
Ole Kniemeyer

Method Summary
 boolean dependsOnContext()
          Determines whether this object actually depends on context.
 void writeStamp(Cache.Entry cache, GraphState gs)
          Writes a stamp of the context into cache.
 

Method Detail

dependsOnContext

boolean dependsOnContext()
Determines whether this object actually depends on context.

Returns:
true iff this object depends on context

writeStamp

void writeStamp(Cache.Entry cache,
                GraphState gs)
Writes a stamp of the context into cache. Based on this stamp, a cache detects whether the context of this object has changed or not.

Parameters:
cache - a cache entry to write the stamp
gs - the current graph state