|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.hypergraphdb.type.RecordType
public class RecordType
A RecordType represents a particular combination of slots that
can be used to construct records. The latter are instances of Record.
It is important that the slots in a record type are maintained in an order matching the HG store layout of record values.
| Constructor Summary | |
|---|---|
RecordType()
|
|
| Method Summary | |
|---|---|
void |
addSlot(HGHandle slot)
|
boolean |
equals(java.lang.Object other)
|
HGHandle |
getAt(int i)
|
java.util.Iterator<java.lang.String> |
getDimensionNames()
Return an Iterator listing the names of all
dimensions of this composite type. |
HGProjection |
getProjection(java.lang.String dimensionName)
Get the projection function for a particular dimension. |
HGAtomRef.Mode |
getReferenceMode(HGHandle slot)
|
java.util.List<HGHandle> |
getSlots()
|
java.lang.Object |
make(HGPersistentHandle handle,
LazyRef<HGHandle[]> targetSet,
IncidenceSetRef incidenceSet)
Construct a new run-time instance of a hypergraph atom. |
void |
release(HGPersistentHandle handle)
Release a hypergraph value instance from the persistent store. |
void |
remove(HGHandle slot)
|
void |
removeAt(int i)
|
void |
setHyperGraph(HyperGraph hg)
During load time, set the HyperGraph
instance to which this atom belongs. |
void |
setThisHandle(HGHandle thisHandle)
|
int |
slotCount()
|
HGPersistentHandle |
store(java.lang.Object instance)
Store a run-time instance of a hypergraph atom into the hypergraph HGStore
as a new atom. |
boolean |
subsumes(java.lang.Object general,
java.lang.Object specific)
A generic semantic predicate that returns true if the first argument
is more general than the second. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public RecordType()
| Method Detail |
|---|
public HGAtomRef.Mode getReferenceMode(HGHandle slot)
public void setThisHandle(HGHandle thisHandle)
public java.util.Iterator<java.lang.String> getDimensionNames()
HGCompositeTypeReturn an Iterator listing the names of all
dimensions of this composite type. A projection function can be obtained
through the getProjection method.
getDimensionNames in interface HGCompositeTypepublic HGProjection getProjection(java.lang.String dimensionName)
HGCompositeTypeGet the projection function for a particular dimension.
getProjection in interface HGCompositeTypedimensionName - The name of the dimension.
HGProjection instance.public java.util.List<HGHandle> getSlots()
public void addSlot(HGHandle slot)
public void remove(HGHandle slot)
public void removeAt(int i)
public HGHandle getAt(int i)
public int slotCount()
public void setHyperGraph(HyperGraph hg)
HGGraphHolderDuring load time, set the HyperGraph
instance to which this atom belongs.
setHyperGraph in interface HGGraphHolder
public java.lang.Object make(HGPersistentHandle handle,
LazyRef<HGHandle[]> targetSet,
IncidenceSetRef incidenceSet)
HGAtomTypeConstruct a new run-time instance of a hypergraph atom. A plain node must
be constructed whenever the targetSet parameter is null or of
length 0. Otherwise, a HGLink instance must be constructed.
It is not required that all atom types be able to construct both plain (node)
atoms and HGLinks. It is up to an HGAtomType implementation
to support either or both. When a HGLink counterpart is not available
for a particular run-time type, an implementation may choose to create an instance
of the default link value holder implementation HGValuedLink, provided
by HyperGraph.
make in interface HGAtomTypehandle - The HGPersistentHandle of the atom value.targetSet - When the atom is a link, this parameter holds the target set of
the link. When the atom is a node, the parameter is an array of 0 length.incidenceSet - TODO
null.
In case the handle points to an invalid instance (inexisting or with
a erronous layout), the method should throw a HGException.public HGPersistentHandle store(java.lang.Object instance)
HGAtomTypeStore a run-time instance of a hypergraph atom into the hypergraph HGStore
as a new atom.
store in interface HGAtomTypeinstance - The atom instance.
public void release(HGPersistentHandle handle)
HGAtomTypeRelease a hypergraph value instance from the persistent store.
This method should be called when a HGPersistentHandle
returned from the store is no longer in use.
release in interface HGAtomTypehandle - The persistent handle of the value to release.
public boolean subsumes(java.lang.Object general,
java.lang.Object specific)
HGAtomTypeA generic semantic predicate that returns true if the first argument
is more general than the second. Atom types must implement this notion of specialization
whenever meaningful in the context of the entities being constructed.
The notion of subsumption can be seen as partial equivalence, or equivalence in one direction only.
As a relation, subsumtion is transitive and reflexive. The latter implies that, at a minimum,
the subsumes method must return true if
general.equals(specific).
subsumes in interface HGAtomTypegeneral - The object which might be more general. Cannot be null.specific - The object which might be more specific. Cannot be null.
true if specific can be used whenever general
is required and false otherwise.public boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||