# Module generic-reference

Package com.here.mom.component.generic-reference

Parts

## GenericReference

part GenericReference

Module generic-reference

Subtypes Reference

Generic definition of a Reference in Map Objects schema. NOTE! Reference MUST not be extended with additional properties, it is only extended for typed Reference<T>

Property Type Modifier Description
featureType FeatureType optional The type of the feature.
id string The ID of the referenced object.
spaceId string optional Datahub space or other storage location
referenceName string optional referenceName describes the Feature Type or the Layer Name we are Referring To, e.g. PARENT, CHILD
externalDomainVersion string optional Domain-wide version in the external domain that represents the state as of when the reference was computed.

This allows for consistent retrieval of context around the referenced feature(s)
referencePoint Point optional This is the location of the referenced object, collapsed to a single point.

This is for any application where an approximate, but deterministic and consistent, location is useful. One

example is deciding where to "anchor" a feature within a tiled map database.

This should be a copy of the referenced feature's reference point.
nonSpatialPartitionKey string optional The partition id for a generically partitioned feature reference.

Generically partitioned features fall into two categories:

1. Features that have a spatial component but may not make sense to partition based on that geometry.

2. Features that don't have a strong spatial component.

How keys will be assigned and what value ranges will be used are not specified.

Examples of generically partitioned features are admin, zone, postal, phonetics, metadata, etc.
Constraint Expression Description
atMostOneDefinedProperty (is-empty(.referencePoint) is-empty(.nonSpatialPartitionKey)) At most one of non-spatial-partition-key and reference-point can be defined.