Interface ColumnBuilder<P extends CategoryBuilder<PP,​PPP>,​PP extends BlockBuilder<PPP>,​PPP extends CifFileBuilder>

Type Parameters:
P - parent builder type (CategoryBuilder)
PP - parent's parent builder type (BlockBuilder)
PPP - parent's parent's parent builder type (CifFileBuilder)
All Known Subinterfaces:
FloatColumnBuilder<P,​PP,​PPP>, IntColumnBuilder<P,​PP,​PPP>, StrColumnBuilder<P,​PP,​PPP>
All Known Implementing Classes:
ColumnBuilderImpl, FloatColumnBuilderImpl, IntColumnBuilderImpl, StrColumnBuilderImpl

public interface ColumnBuilder<P extends CategoryBuilder<PP,​PPP>,​PP extends BlockBuilder<PPP>,​PPP extends CifFileBuilder>
Defines functionality of column building classes. All builders are aware of their parent instances in order to enforce the schema.
  • Method Details

    • getCategoryName

      String getCategoryName()
      The name of the parent category.
      Returns:
      a String
    • getColumnName

      String getColumnName()
      The name of this column
      Returns:
      a String
    • getMask

      List<ValueKind> getMask()
      The registered mask data.
      Returns:
      a List of ValueKind entries
    • markNextNotPresent

      ColumnBuilder<P,​PP,​PPP> markNextNotPresent()
      Specify that the next value written is not present (aka undefined).
      Returns:
      this builder instance
    • markNextUnknown

      ColumnBuilder<P,​PP,​PPP> markNextUnknown()
      Specify that the next value written is unknown.
      Returns:
      this builder instance
    • build

      Column<?> build()
      Retrieve (detached) column describe by this builder.
      Returns:
      this builder instance
    • leaveColumn

      P leaveColumn()
      Leave this column.
      Returns:
      the parent builder instance