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

com.meliorbis.numerics.io.NumericsWriter Maven / Gradle / Ivy

Go to download

A library for working with large multi-dimensional arrays and the functions they represent

There is a newer version: 1.2
Show newest version
package com.meliorbis.numerics.io;

import java.io.IOException;
import java.util.Map;

import com.meliorbis.numerics.generic.MultiDimensionalArray;

/**
 * Implementing classes can write arrays and named collections of arrays to a backing store
 *
 * @author Tobias Grasl
 */
public interface NumericsWriter
{
    /**
     * Write a single array with the provided name
     *
     * @param name_ The name under which the array should be stored
     * @param array_ The array itself
     *
     * @throws IOException If an error occurs
     */
    void writeArray(String name_, MultiDimensionalArray array_) throws IOException;

    /**
     * Write multiple arrays under the names they are mapped to
     *
     * @param arrays_ A map of arrays to write by name, all of which will be written
     *
     * @throws IOException If an error occurs
     */
    void writeArrays(Map> arrays_) throws IOException;

    /**
     * Writes multiple arrays nested with an structure, which will be stored under the name provided
     *
     * @param name_ The name of the struture
     * @param arrays_ The map of arrays to write by name
     *
     * @throws IOException If an error occurs
     */
    void writeStructure(String name_, Map> arrays_) throws IOException;

    /**
     * Complete writing and perform any necessary final operations and cleanup
     *
     * @throws IOException If an error occurs
     */
    void close() throws IOException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy