Package uk.ac.starlink.array
Interface Converter
-
- All Known Implementing Classes:
TypeConverter
public interface Converter
Converts values between primitive types. The conversion will typically be like a typecast, though conversions involving scaling or other functions may equally be provided. A given Converter object converts, in both directions, between two primitive types which are labelled 1 and 2. Bad value processing is part of the interface; a bad value at the input end of the conversion will result in a bad value at the output end, and a non-bad value at the input end may result in a bad value at the output end, for instance in the case of overflow.- Version:
- $Id$
- Author:
- Mark Taylor (Starlink)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
convert12(java.lang.Object src1, int srcPos, java.lang.Object dest2, int destPos, int length)
Converts a sequence of values of type 1 to a sequence of values of type 2.void
convert21(java.lang.Object src2, int srcPos, java.lang.Object dest1, int destPos, int length)
Converts a sequence of values of type 2 to a sequence of values of type 1.BadHandler
getBadHandler1()
Returns the bad value handler used for type 1.BadHandler
getBadHandler2()
Returns the bad value handler used for type 2.Type
getType1()
Returns the data type of type 1.Type
getType2()
Returns the data type of type 2.boolean
isUnit12()
Indicates whether conversion from type 1 to type 2 does any work.boolean
isUnit21()
Indicates whether conversion from type 2 to type 1 does any work.
-
-
-
Method Detail
-
getType1
Type getType1()
Returns the data type of type 1.- Returns:
- Type object representing primitive type 1
-
getType2
Type getType2()
Returns the data type of type 2.- Returns:
- Type object representing primitive type 2
-
getBadHandler1
BadHandler getBadHandler1()
Returns the bad value handler used for type 1.- Returns:
- the type 1 BadHandler object
-
getBadHandler2
BadHandler getBadHandler2()
Returns the bad value handler used for type 2.- Returns:
- the type 2 BadHandler object
-
isUnit12
boolean isUnit12()
Indicates whether conversion from type 1 to type 2 does any work. This will return true only if type 1 and type 2 are equivalent, and all values converted from type 1 to type 2 are guaranteed to be element-for-element identical.- Returns:
- true if no useful work is done by the convert12 method
-
isUnit21
boolean isUnit21()
Indicates whether conversion from type 2 to type 1 does any work. This will return true only if type 1 and type 2 are equivalent, and all values converted from type 2 to type 1 are guaranteed to be element-for-element identical.- Returns:
- true if no useful work is done by the convert21 method
-
convert12
void convert12(java.lang.Object src1, int srcPos, java.lang.Object dest2, int destPos, int length)
Converts a sequence of values of type 1 to a sequence of values of type 2.- Parameters:
src1
- the source array, which must be an array of primitive type 1 with at least srcPos+length elementssrcPos
- the position in the source array of the first element to be converteddest2
- the destination array, which must be an array of primitive type 2 with at least destPos+length elements. If type 1 and type 2 are the same, it is permissible for src1 and dest2 to be references to the same objectdestPos
- the position in the destination array at which the first converted element will be writtenlength
- the number of elements to convert- Throws:
java.lang.IndexOutOfBoundsException
- if access outside the bounds of the source or destination array is attempted
-
convert21
void convert21(java.lang.Object src2, int srcPos, java.lang.Object dest1, int destPos, int length)
Converts a sequence of values of type 2 to a sequence of values of type 1.- Parameters:
src2
- the source array, which must be an array of primitive type 2 with at least srcPos+length elementssrcPos
- the position in the source array of the first element to be converteddest1
- the destination array, which must be an array of primitive type 1 with at least destPos+length elements. If type 1 and type 2 are the same, it is permissible for src2 and dest1 to be references to the same objectdestPos
- the position in the destination array at which the first converted element will be writtenlength
- the number of elements to convert- Throws:
java.lang.IndexOutOfBoundsException
- if access outside the bounds of the source or destination array is attempted
-
-