001 /* 002 * This file is part of McIDAS-V 003 * 004 * Copyright 2007-2013 005 * Space Science and Engineering Center (SSEC) 006 * University of Wisconsin - Madison 007 * 1225 W. Dayton Street, Madison, WI 53706, USA 008 * https://www.ssec.wisc.edu/mcidas 009 * 010 * All Rights Reserved 011 * 012 * McIDAS-V is built on Unidata's IDV and SSEC's VisAD libraries, and 013 * some McIDAS-V source code is based on IDV and VisAD source code. 014 * 015 * McIDAS-V is free software; you can redistribute it and/or modify 016 * it under the terms of the GNU Lesser Public License as published by 017 * the Free Software Foundation; either version 3 of the License, or 018 * (at your option) any later version. 019 * 020 * McIDAS-V is distributed in the hope that it will be useful, 021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 023 * GNU Lesser Public License for more details. 024 * 025 * You should have received a copy of the GNU Lesser Public License 026 * along with this program. If not, see http://www.gnu.org/licenses. 027 */ 028 029 package edu.wisc.ssec.mcidasv.data.hydra; 030 031 public class HDFArray { 032 033 Class type; 034 int length; 035 036 public HDFArray(Class type) { 037 this.type = type; 038 } 039 040 public Object getArray() { 041 return null; 042 } 043 044 public Class getType() { 045 return type; 046 } 047 048 public static HDFArray make(float[] array) { 049 return new HDFFloatArray(array); 050 } 051 052 public static HDFArray make(double[] array) { 053 return new HDFDoubleArray(array); 054 } 055 056 public static HDFArray make(int[] array) { 057 return new HDFIntArray(array); 058 } 059 060 public static HDFArray make(short[] array) { 061 return new HDFShortArray(array); 062 } 063 064 public static HDFArray make(String[] array) { 065 return new HDFStringArray(array); 066 } 067 } 068 069 class HDFFloatArray extends HDFArray { 070 float[] float_array; 071 public HDFFloatArray(float[] fa) { 072 super(Float.TYPE); 073 float_array = fa; 074 length = fa.length; 075 } 076 public float[] getArray() { 077 return float_array; 078 } 079 } 080 081 class HDFDoubleArray extends HDFArray { 082 double[] double_array; 083 public HDFDoubleArray(double[] da) { 084 super(Double.TYPE); 085 double_array = da; 086 length = da.length; 087 } 088 public double[] getArray() { 089 return double_array; 090 } 091 } 092 093 class HDFShortArray extends HDFArray { 094 short[] short_array; 095 public HDFShortArray(short[] sa) { 096 super(Short.TYPE); 097 short_array = sa; 098 length = sa.length; 099 } 100 public short[] getArray() { 101 return short_array; 102 } 103 } 104 105 class HDFIntArray extends HDFArray { 106 int[] int_array; 107 public HDFIntArray(int[] ia) { 108 super(Integer.TYPE); 109 int_array = ia; 110 length = ia.length; 111 } 112 public int[] getArray() { 113 return int_array; 114 } 115 } 116 117 class HDFByteArray extends HDFArray { 118 byte[] byte_array; 119 public HDFByteArray(byte[] ba) { 120 super(Byte.TYPE); 121 byte_array = ba; 122 length = ba.length; 123 } 124 public byte[] getArray() { 125 return byte_array; 126 } 127 } 128 129 130 class HDFStringArray extends HDFArray { 131 String[] string_array; 132 public HDFStringArray(String[] sa) { 133 super(String.class); 134 string_array = sa; 135 length = sa.length; 136 } 137 public String[] getArray() { 138 return string_array; 139 } 140 }