NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
> >> I didn't (and still don't) see how ArrayAbstract relates to a > >> nc2 Variable. Can you enlighten me? ;-) > > > >sorry: you do a Variable.read() to get an Array, which you cast to an > >AbstractArray. > > This doesn't seem intuitively obvious. I understand your comments about > different ways of implementing Array, but looking over the javadocs, it > doesn't say anywhere that Variable is implemented with an AbstractArray > underneath. Since nc2.Variable is not an interface, then perhaps the > read should specify that it returns an AbsractArray. Otherwise, it seems > like Array should have the copyTo1DJavaArray() method. That could be > implemented regardless of the backing store. i agree that its not obvious, and i will think about these issues. there are various levels of exposing the underlying implementation. in some ways copyTo1DJavaArray() might be considered implementation, but perhaps it should be a service provided by any Array. right now, to implement these ideas, my thoughts would be to add: Object copyTo1DJavaArray(); Object copyTo1DJavaArray(Class); // type conversion i suppose it would also be nice to have Object copyToNDJavaArray(); // N = rank Object copyToNDJavaArray(Class); // type conversion Should these be added to Array or AbstractArray? As more services are added to Array, its less likely there will be any implementations other than AbstractArray. So i have to think if thats ok, and if the Array interface is still useful. Other opinions are welcome. Also, to clarify: Variable implements MultiArray: to get an Array, you must do a read(). this is an important difference in design from ucar.multiarray. given that you found out the hard way that theres a factor of 6 (or more?) i continue to think its the correct design.
netcdf-java
archives: