org.eclipse.dawnsci.nexus.NXroot Maven / Gradle / Ivy
/*-
*******************************************************************************
* Copyright (c) 2015 Diamond Light Source Ltd.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* This file was auto-generated from the NXDL XML definition.
*******************************************************************************/
package org.eclipse.dawnsci.nexus;
import java.util.Date;
import java.util.Map;
import org.eclipse.dawnsci.analysis.api.tree.DataNode;
/**
* Definition of the root NeXus group.
*
*/
public interface NXroot extends NXobject {
public static final String NX_ATTRIBUTE_NX_CLASS = "NX_class";
public static final String NX_ATTRIBUTE_FILE_TIME = "file_time";
public static final String NX_ATTRIBUTE_FILE_NAME = "file_name";
public static final String NX_ATTRIBUTE_FILE_UPDATE_TIME = "file_update_time";
public static final String NX_ATTRIBUTE_NEXUS_VERSION = "NeXus_version";
public static final String NX_ATTRIBUTE_HDF_VERSION = "HDF_version";
public static final String NX_ATTRIBUTE_HDF5_VERSION = "HDF5_Version";
public static final String NX_ATTRIBUTE_XML_VERSION = "XML_version";
public static final String NX_ATTRIBUTE_H5PY_VERSION = "h5py_version";
public static final String NX_ATTRIBUTE_CREATOR = "creator";
public static final String NX_ATTRIBUTE_DEFAULT = "default";
/**
* The root of any NeXus data file is an ``NXroot`` class
* (no other choice is allowed for a valid NeXus data file).
* This attribute cements that definition.
*
*
Enumeration:
* - NXroot
*
*
* @return the value.
*/
public String getAttributeNX_class();
/**
* The root of any NeXus data file is an ``NXroot`` class
* (no other choice is allowed for a valid NeXus data file).
* This attribute cements that definition.
*
*
Enumeration:
* - NXroot
*
*
* @param NX_class the NX_class
*/
public void setAttributeNX_class(String NX_class);
/**
* Date and time file was originally created
*
* @return the value.
*/
public String getAttributeFile_time();
/**
* Date and time file was originally created
*
* @param file_time the file_time
*/
public void setAttributeFile_time(String file_time);
/**
* File name of original NeXus file
*
* @return the value.
*/
public String getAttributeFile_name();
/**
* File name of original NeXus file
*
* @param file_name the file_name
*/
public void setAttributeFile_name(String file_name);
/**
* Date and time of last file change at close
*
* @return the value.
*/
public String getAttributeFile_update_time();
/**
* Date and time of last file change at close
*
* @param file_update_time the file_update_time
*/
public void setAttributeFile_update_time(String file_update_time);
/**
* Version of NeXus API used in writing the file.
* Only used when the NAPI has written the file.
* Note that this is different from the version of the
* base class or application definition version number.
*
* @return the value.
*/
public String getAttributeNeXus_version();
/**
* Version of NeXus API used in writing the file.
* Only used when the NAPI has written the file.
* Note that this is different from the version of the
* base class or application definition version number.
*
* @param NeXus_version the NeXus_version
*/
public void setAttributeNeXus_version(String NeXus_version);
/**
* Version of HDF (version 4) library used in writing the file
*
* @return the value.
*/
public String getAttributeHDF_version();
/**
* Version of HDF (version 4) library used in writing the file
*
* @param HDF_version the HDF_version
*/
public void setAttributeHDF_version(String HDF_version);
/**
* Version of HDF5 library used in writing the file.
* Note this attribute is spelled with uppercase "V",
* different than other version attributes.
*
* @return the value.
*/
public String getAttributeHDF5_Version();
/**
* Version of HDF5 library used in writing the file.
* Note this attribute is spelled with uppercase "V",
* different than other version attributes.
*
* @param HDF5_Version the HDF5_Version
*/
public void setAttributeHDF5_Version(String HDF5_Version);
/**
* Version of XML support library used in writing the XML file
*
* @return the value.
*/
public String getAttributeXML_version();
/**
* Version of XML support library used in writing the XML file
*
* @param XML_version the XML_version
*/
public void setAttributeXML_version(String XML_version);
/**
* Version of h5py Python package used in writing the file
*
* @return the value.
*/
public String getAttributeH5py_version();
/**
* Version of h5py Python package used in writing the file
*
* @param h5py_version the h5py_version
*/
public void setAttributeH5py_version(String h5py_version);
/**
* facility or program where file originated
*
* @return the value.
*/
public String getAttributeCreator();
/**
* facility or program where file originated
*
* @param creator the creator
*/
public void setAttributeCreator(String creator);
/**
* entries
*
* @return the value.
*/
public NXentry getEntry();
/**
* entries
*
* @param entry the entry
*/
public void setEntry(NXentry entry);
/**
* Get a NXentry node by name:
*
* -
* entries
*
*
* @param name the name of the node.
* @return a map from node names to the NXentry for that node.
*/
public NXentry getEntry(String name);
/**
* Set a NXentry node by name:
*
* -
* entries
*
*
* @param name the name of the node
* @param entry the value to set
*/
public void setEntry(String name, NXentry entry);
/**
* Get all NXentry nodes:
*
* -
* entries
*
*
* @return a map from node names to the NXentry for that node.
*/
public Map getAllEntry();
/**
* Set multiple child nodes of a particular type.
*
* -
* entries
*
*
* @param entry the child nodes to add
*/
public void setAllEntry(Map entry);
/**
* .. index:: plotting
* Declares which :ref:`NXentry` group contains
* the data to be shown by default.
* It is needed to resolve ambiguity when
* more than one :ref:`NXentry` group exists.
* The value is the name of the default :ref:`NXentry` group.
* It is recommended (as of NIAC2014) to use this attribute
* to help define the path to the default dataset to be plotted.
* See http://wiki.nexusformat.org/2014_How_to_find_default_data
* for a summary of the discussion.
*
* @return the value.
*/
public String getAttributeDefault();
/**
* .. index:: plotting
* Declares which :ref:`NXentry` group contains
* the data to be shown by default.
* It is needed to resolve ambiguity when
* more than one :ref:`NXentry` group exists.
* The value is the name of the default :ref:`NXentry` group.
* It is recommended (as of NIAC2014) to use this attribute
* to help define the path to the default dataset to be plotted.
* See http://wiki.nexusformat.org/2014_How_to_find_default_data
* for a summary of the discussion.
*
* @param default_ the default
*/
public void setAttributeDefault(String default_);
}