Record Class Endpoint
- Record Components:
relation- the relation at this endpoint; never nullcolumns- the ordered join columns; never emptymin- lower multiplicity bound; never negative (default 0)max- upper multiplicity bound; empty = unbounded (default)
Relationship: a relation plus the ordered columns
joined at this side, carrying numeric multiplicity bounds.
The relation may be any RelationSymbol kind — including a
QueryRelationSymbol, so a relationship can target a derived view
("active orders") exactly as it targets a base table.
Column lists are positional: the i-th column of one endpoint equijoins the i-th column of the other. A composite foreign key is one edge with multi-column endpoints, never two single-column edges.
The bounds state how many rows of this endpoint's relation may
match one row of the opposite endpoint. The defaults — min = 0,
max absent (∞) — are the unconstrained reading: an omitted bound
asserts nothing, so the engine never over-commits. min = 0 is the
outer-join signal (an inner join may drop opposite-side rows); a finite
max is a fan-out and selectivity fact.
-
Constructor Summary
ConstructorsConstructorDescriptionEndpoint(RelationSymbol relation, List<String> columns, long min, OptionalLong max) Creates an instance of aEndpointrecord class. -
Method Summary
Modifier and TypeMethodDescriptionbooleanbounded()Returnstrueif any bound was actually constrained beyond the 0/∞ defaults.The display form of this endpoint's bounds, e.g.columns()Returns the value of thecolumnsrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.max()Returns the value of themaxrecord component.longmin()Returns the value of theminrecord component.relation()Returns the value of therelationrecord component.final StringtoString()Returns a string representation of this record class.static Endpointunbounded(RelationSymbol relation, List<String> columns) Creates an endpoint with the default unconstrained bounds[0..*].
-
Constructor Details
-
Method Details
-
unbounded
Creates an endpoint with the default unconstrained bounds[0..*]. -
bounded
public boolean bounded()Returnstrueif any bound was actually constrained beyond the 0/∞ defaults. -
boundsLabel
The display form of this endpoint's bounds, e.g.[1..50]or[0..*]. -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
relation
Returns the value of therelationrecord component.- Returns:
- the value of the
relationrecord component
-
columns
Returns the value of thecolumnsrecord component.- Returns:
- the value of the
columnsrecord component
-
min
public long min()Returns the value of theminrecord component.- Returns:
- the value of the
minrecord component
-
max
Returns the value of themaxrecord component.- Returns:
- the value of the
maxrecord component
-