All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.rcsb.cif.model.ColumnBuilder Maven / Gradle / Ivy

package org.rcsb.cif.model;

import java.util.List;

/**
 * Defines functionality of column building classes. All builders are aware of their parent instances in order to enforce
 * the schema.
 * @param 

parent builder type (CategoryBuilder) * @param parent's parent builder type (BlockBuilder) * @param parent's parent's parent builder type (CifFileBuilder) */ public interface ColumnBuilder

, PP extends BlockBuilder, PPP extends CifFileBuilder> { /** * The name of the parent category. * @return a String */ String getCategoryName(); /** * The name of this column * @return a String */ String getColumnName(); /** * The registered mask data. * @return a List of ValueKind entries */ List getMask(); /** * Specify that the next value written is not present (aka undefined). * @return this builder instance */ ColumnBuilder markNextNotPresent(); /** * Specify that the next value written is unknown. * @return this builder instance */ ColumnBuilder markNextUnknown(); /** * Retrieve (detached) column describe by this builder. * @return this builder instance */ Column build(); /** * Leave this column. * @return the parent builder instance */ P leaveColumn(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy