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

io.github.hlfsousa.ncml.examples.ucararray.SampleModel Maven / Gradle / Ivy

package io.github.hlfsousa.ncml.examples.ucararray;

/*-
 * #%L
 * ncml-io
 * %%
 * Copyright (C) 2020 - 2021 Henrique L. F. de Sousa
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 2.1 of the
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public
 * License along with this program.  If not, see
 * .
 * #L%
 */

// imports >>
import io.github.hlfsousa.ncml.annotation.*;
import io.github.hlfsousa.ncml.declaration.*;
import java.util.*;
import ucar.ma2.Array;
// << imports

@CDLRoot
@CDLDimensions({
        @CDLDimension(name = "number_of_items", length = 10)
})
public interface SampleModel {
    interface TemperatureMapVariable extends Variable {

        @CDLAttribute(name = "long_name", dataType = "string")
        String getLongName();

        void setLongName(String longName);

        @CDLAttribute(name = "units", dataType = "string", defaultValue = "Celsius degrees")
        String getUnits();

        void setUnits(String units);

    }

    @CDLAttribute(name = "title", dataType = "string", defaultValue = "Sample NetCDF file")
    String getTitle();

    void setTitle(String title);

    @CDLVariable(name = "temperatureMap:temp_.*", type = Float.class, unsigned = false)
    Map> getTemperatureMap();

    void setTemperatureMap(Map> temperatureMap);

    @CDLGroup(name = "groupMap:group\\d+")
    Map getGroupMap();

    void setGroupMap(Map groupMap);

    // methods >>
    // << methods

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy