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

uk.ac.starlink.pds4.Group Maven / Gradle / Ivy

There is a newer version: 4.3
Show newest version
package uk.ac.starlink.pds4;

/**
 * Characterises a PDS4 Group_Field_* object.
 * These correspond to (possibly nested) groups of table fields.
 *
 * @author   Mark Taylor
 * @since    30 Nov 2021
 */
public interface Group extends RecordItem {

    /**
     * Returns the number of repetitions of this group.
     * This is the PDS4 repetitions item.
     *
     * @return  repetition count
     */
    int getRepetitions();

    /**
     * Returns the 1-based byte offset into the record at which
     * this group is found.
     * This is the PDS4 group_location item,
     * and only appears for Binary and Character groups.
     *
     * @return 1-based group location byte offset,
     *         or negative value for Delimited groups
     */
    int getGroupLocation();

    /**
     * Returns the number of bytes this group occupies in a fixed-length record.
     * This is the PDS4 group_length item,
     * and only appears for Binary and Character groups.
     *
     * @return  group total byte count,
     *          or negative value for Delimited groups
     */
    int getGroupLength();

    /**
     * Returns the optional group name.
     *
     * @return  group name, or null
     */
    String getName();

    /**
     * Returns the optional group description.
     *
     * @return  group description, or null
     */
    String getDescription();

    /**
     * Returns the fields or nested groups that are present in this group.
     *
     * @return   array of fields and groups
     */
    RecordItem[] getContents();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy