Interface ArrayBuilder

    • Method Detail

      • makeNDArray

        NDArray makeNDArray​(java.net.URL url,
                            AccessMode mode)
                     throws java.io.IOException
        Constructs an NDArray based on the existing resource at a given URL. If the resource is not recognised or it is not known how to construct such an NDArray, then null should be returned. If the resource exists but some error occurs in processing it, or if this factory knows that it understands the URL but is unable to locate such a resource then an IOException should be thrown; however, if it is possible that a different factory could correctly construct an NDArray from this URL then a null return is preferred.

        If the resource storing the NDArray is incapable of storing bad values, an NDArray using the default bad value handling policy should be returned.

        Parameters:
        url - the URL of the resource from which an NDArray is to be constructed
        mode - the read/update/write mode with which to create the array
        Returns:
        the NDArray at url, or null if this handler does not recognise the URL
        Throws:
        java.io.IOException - if the URL is understood but an NDArray cannot be made
      • makeNewNDArray

        NDArray makeNewNDArray​(java.net.URL url,
                               NDShape shape,
                               Type type,
                               BadHandler bh)
                        throws java.io.IOException
        Constructs a new NDArray with the given characteristics in a location determined by a given URL. If the URL is not recognised or this factory does not feel qualified to construct an NDArray with the given URL then null should be returned. If some error occurs during construction then an IOException should in general be thrown; however if this factory thinks that another factory might have more luck then a null return is preferred.

        The bh parameter indicates a requested bad value handling policy. If it is not null, this handler should attempt to create a new NDArray resource with the same policy. However, if it is not possible because of limitations in the storage format it may use a different bad value policy, bearing in mind the behaviour documented in makeNDArray(java.net.URL, uk.ac.starlink.array.AccessMode).

        Parameters:
        url - the URL at which the resource backing the NDArray is to be written
        shape - the shape of the new NDArray to construct. If this object is an OrderedNDShape, its Order may be used as a hint about the pixel ordering scheme of the NDArray to be created, but no guarantee is made that the orderings will match
        type - the primitive data type of the new NDArray to construct
        bh - requested bad value handling policy - see above
        Returns:
        the new NDArray, or null if this handler does not recognise the URL
        Throws:
        java.io.IOException - if the URL is understood but the requested NDArray cannot be constructed there