The Web Graph Database

wiki:Docs/MeshObjectAnatomy

Anatomy of a MeshObject

MeshObjects are the core structure holding information in InfoGrid. They have the following characteristics.

General

Types and Properties

Neighbors

Equivalents

Under construction.

TypedMeshObjectFacade

If a MeshObject is blessed with an EntityType X, a facade object can be obtained that implements interface X, as generated by the InfoGrid CodeGenerator. interface X is a subtype of org.infogrid.mesh.TypedMeshObjectFacade.

For example, if a MeshObject is blessed with EntityType org.infogrid.model.Tagging/TagLibrary, the InfoGrid CodeGenerator, during the build process, generated interface org.infogrid.model.Tagging.TagLibrary as well as an implementation class (whose name and behavior is not relevant as it is not exposed in the API). This interface will have getter and setter methods for all PropertyTypes declared in the EntityType according to JavaBeans conventions. It is a facade object in that it delegates all operations to the underlying MeshObject.

Events

All changes to a MeshObject raise Events to which listeners can subscribe. To keep the API simple and stay with the JavaBeans event specification, these Events are raised as subclasses of PropertyChangeEvent.

For MeshObjects, they are:

NetMeshObjects subclass some of those events, additionally raise the following events:

  • LockChangedEvent.GainedLock: this Replica successfully acquired update rights from another Replica
  • LockChangedEvent.LostLock: this Replica had update rights but lost it to another Replica
  • HomeReplicaChangedEvent.GainedHomeReplica: this Replica acquired HomeReplica status from another Replica
  • HomeReplicaChangedEvent.LostHomeReplica: this Replica lost HomeReplica status to another Replica
  • NetMeshObjectBecamePurgedStateEvent: this Replica was purged but not semantically deleted
  • NetMeshObjectPropertyChangeEvent: adds information to MeshObjectPropertyChangeEvent
  • NetMeshObjectNeighborAddedEvent: adds information to MeshObjectNeighborAddedEvent
  • NetMeshObjectNeighborRemovedEvent: adds information to MeshObjectNeighborRemovedEvent
  • NetMeshObjectTypeAddedEvent: adds information to MeshObjectTypeAddedEvent
  • NetMeshObjectTypeRemovedEvent: adds information to MeshObjectTypeRemovedEvent
  • NetMeshObjectRoleAddedEvent: adds information to MeshObjectTypeAddedEvent
  • NetMeshObjectRoleRemovedEvent: adds information to MeshObjectRoleRemovedEvent
  • NetMeshObjectBecameDeadStateEvent: adds information to MeshObjectBecameDeadStateEvent

See also:

Last modified 5 years ago Last modified on 01/19/10 16:47:49