Class NameMapImpl

  • All Implemented Interfaces:
    NameMap, Iterable<NameMap.Record>
    Direct Known Subclasses:
    QueryNameMapImpl, TableNameMapImpl

    public abstract class NameMapImpl
    extends Object
    implements NameMap
    Reads and writes a name map, which tables and queries share. The encoding is
       NameMap := magic [u32 reserved record*]
       record  := guid own, u32 type, byte[16] payload, utf16 name, u32 zero
    The name is null terminated. The trailing zero is left off the last record, and there is no record count, so a reader stops at the end of the data. The payload is a date and 8 bytes of writer state for a table record, the table guid for a column or a reference record, and the writer tag for the end record. A query which tracks no names, such as a union or a pass-through query, has the magic alone.
    Author:
    James Ahlborn
    Usage:
    Advanced: This class is for advanced/internal use.