public MathType getMathType() throws VisADException { MathType mt = null; HDF5DataAdaptable theMember = null; int size = getMemberCount(); int new_size = 0; if (size <= 0) return (mathtype = null); if (mathtype == null) { MathType[] m_types = new MathType[size]; for (int i = 0; i < size; i++) { theMember = (HDF5DataAdaptable) getMemberAt(i); mt = theMember.getMathType(); if (mt == null) removeMember(theMember); else m_types[new_size++] = mt; } new_size = getMemberCount(); MathType[] new_types = m_types; if (new_size < size) { if (new_size <= 0) return (mathtype = null); new_types = new MathType[new_size]; for (int i = 0; i < new_size; i++) new_types[i] = m_types[i]; } mathtype = (MathType) new TupleType(new_types); } return mathtype; }
public DataImpl getAdaptedData() throws VisADException, RemoteException { int size = getMemberCount(); if (size <= 0) return null; if (datas == null) datas = new DataImpl[size]; HDF5DataAdaptable theData = null; if (tuple == null) { for (int i = 0; i < size; i++) { theData = (HDF5DataAdaptable) getMemberAt(i); datas[i] = theData.getAdaptedData(); } tuple = (DataImpl) new Tuple((TupleType) mathtype, datas, false); } return tuple; }