    001/*-
    002 * Copyright 2015, 2016 Diamond Light Source Ltd.
    003 *
    004 * All rights reserved. This program and the accompanying materials
    005 * are made available under the terms of the Eclipse Public License v1.0
    006 * which accompanies this distribution, and is available at
    007 * http://www.eclipse.org/legal/epl-v10.html
    008 */
    009
    010package org.eclipse.january.dataset;
    011
    012
    013/**
    014 * This interface is intended for data sources that change dynamically.
    015 * Examples:
    016 * 1. An image stream from a camera encoded which entire image, changes periodically.
    017 * 2. An HDF5 dataset which entire shape changes as data is added.
    018 *
    019 */
    020public interface IDynamicDataset extends ILazyDataset, IDynamicShape {
    021
    022        /**
    023         * Denotes an unlimited dimension in maximum shape
    024         */
    025        public static final int UNLIMITED = IDynamicShape.UNLIMITED;
    026
    027        /**
    028         * Get chunking
    029         * @return chunks (can be null)
    030         * @since 2.3
    031         */
    032        public int[] getChunking();
    033
    034        /**
    035         * Set chunking
    036         * @param chunks chunk shape
    037         * @since 2.3
    038         */
    039        public void setChunking(int... chunks);
    040}