Package uk.ac.starlink.array

# Interface ArrayDescription

All Known Subinterfaces:
  `ArrayAccess`, `NDArray`

All Known Implementing Classes:
  `BridgeNDArray`, `CopyNDArray`, `DefaultArrayAccess`, `DefaultArrayDescription`, `DummyNDArray`, `ScratchNDArray`

public interface ArrayDescription
Describes the basic characteristics of an N-dimensional array. The shape, pixel ordering scheme, data type, and bad value handler are available. The immutable components of an array described by this interface are:

type:
  indicates the type of the primitive data
shape:
  gives the origin, dimensions and pixel sequence of the array
badHandler:
  provides intelligence about how bad pixel values are stored
isRandom:
  flag indicating whether random access (backwards seeks) is available
isReadable:
  flag indicating whether pixels can be read
isWritable:
  flag indicating whether pixels can be written

Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`BadHandler`
`getBadHandler()`
Gets an object capable of handling bad pixel values for this array.
`OrderedNDShape`
`getShape()`
Gets the OrderedNDShape object which describes the origin, dimensions and pixel ordering scheme of this array.
`Type`
`getType()`
Returns the type of the primitive data in this array.
`boolean`
`isRandom()`
Indicates whether random access is available.
`boolean`
`isReadable()`
Indicates whether the pixels of this array may be read.
`boolean`
`isWritable()`
Indicates whether the pixels of this array may be written.

## Method Details

### getShape

OrderedNDShape getShape()
Gets the OrderedNDShape object which describes the origin, dimensions and pixel ordering scheme of this array. The return value must not change over the lifetime of this object.

Returns:
  an OrderedNDShape object appropriate to this array

### getType

Type getType()
Returns the type of the primitive data in this array. The return value must not change over the lifetime of this object.

Returns:
  a Type object indicating the primitive element type

### getBadHandler

BadHandler getBadHandler()
Gets an object capable of handling bad pixel values for this array. The return value must not change over the lifetime of this object.

Returns:
  the bad value handler

### isRandom

boolean isRandom()
Indicates whether random access is available. If true, it is possible to set the offset to any point within the bounds of the array, but if false it can only ever move forward. The return value must not change over the lifetime of this object.

Returns:
  true if random access is possible

### isReadable

boolean isReadable()
Indicates whether the pixels of this array may be read. The return value must not change over the lifetime of this object.

Returns:
  true if this array is readable

### isWritable

boolean isWritable()
Indicates whether the pixels of this array may be written. The return value must not change over the lifetime of this object.

Returns:
  true if this array is writable