Package com.sun.jna

# Class IntegerType

java.lang.Object
java.lang.Number
com.sun.jna.IntegerType

All Implemented Interfaces:
  `NativeMapped`, `Serializable`

Direct Known Subclasses:
  `BaseTSD.DWORD_PTR`, `BaseTSD.LONG_PTR`, `BaseTSD.ULONG_PTR`, `LibCAPI.size_t`, `LibCAPI.ssize_t`, `NativeLong`, `OaIdl.VARIANT_BOOL`, `Structure.FFIType.size_t`, `WinDef.BOOL`, `WinDef.CHAR`, `WinDef.DWORD`, `WinDef.DWORDLONG`, `WinDef.INT_PTR`, `WinDef.LONG`, `WinDef.LONGLONG`, `WinDef.SHORT`, `WinDef.UCHAR`, `WinDef.UINT`, `WinDef.UINT_PTR`, `WinDef.ULONG`, `WinDef.ULONGLONG`, `WinDef.USHORT`, `WinDef.WORD`, `XAttr.size_t`, `XAttr.ssize_t`

public abstract class IntegerType extends Number implements NativeMapped
Represents a native integer value, which may have a platform-specific size (e.g. `long` on unix-based platforms). May optionally indicate an unsigned attribute, such that when a value is extracted into a larger-sized container (e.g. `int` retrieved via `Number.longValue()`, the value will be unsigned. Default behavior is signed.

Author:
  wmeissner@gmail.com, twalljava@java.net
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`IntegerType(int size)`
Create a zero-valued signed IntegerType.
`IntegerType(int size, boolean unsigned)`
Create a zero-valued optionally unsigned IntegerType.
`IntegerType(int size, long value)`
Create a signed IntegerType with the given value.
`IntegerType(int size, long value, boolean unsigned)`
Create an optionally signed IntegerType with the given value.

## Method Summary

Modifier and Type
Method
Description
`static final int`
`compare(long v1, long v2)`
`static int`
`compare(IntegerType v1, long v2)`
Compares a IntegerType value with a `long` one.
`static <T extends IntegerType>
int`
`compare(T v1, T v2)`
Compares 2 derived `IntegerType` values - Note: a `null` value is considered greater than any non-`null` one (i.e., `null` values are "pushed" to the end of a sorted array / list of values)
`double`
`doubleValue()`
`boolean`
`equals(Object rhs)`
`float`
`floatValue()`
`Object`
`fromNative(Object nativeValue, FromNativeContext context)`
Convert the given native object into its Java representation using the given context.
`int`
`hashCode()`
`int`
`intValue()`
`long`
`longValue()`
`Class<?>`
`nativeType()`
Indicate the native type used by this converter.
`void`
`setValue(long value)`
Change the value for this data.
`Object`
`toNative()`
Convert this object into a supported native type.
`String`
`toString()`

### Methods inherited from class java.lang.Number

`byteValue, shortValue`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### IntegerType

public IntegerType(int size)
Create a zero-valued signed IntegerType.

### IntegerType

public IntegerType(int size, boolean unsigned)
Create a zero-valued optionally unsigned IntegerType.

### IntegerType

public IntegerType(int size, long value)
Create a signed IntegerType with the given value.

### IntegerType

public IntegerType(int size, long value, boolean unsigned)
Create an optionally signed IntegerType with the given value.

## Method Details

### setValue

public void setValue(long value)
Change the value for this data.

Parameters:
  `value` - value to set

### toNative

public Object toNative()
Description copied from interface: `NativeMapped`
Convert this object into a supported native type.

Specified by:
  `toNative` in interface `NativeMapped`
Returns:
  Java representation of the original Java object converted to a native type.

### fromNative

public Object fromNative(Object nativeValue, FromNativeContext context)
Description copied from interface: `NativeMapped`
Convert the given native object into its Java representation using the given context.

Specified by:
  `fromNative` in interface `NativeMapped`
Parameters:
  `nativeValue` - Java representation of the native type to be converted.
  `context` - Context in which the conversion is taking place.
Returns:
  Converted object.

### nativeType

public Class<?> nativeType()
Description copied from interface: `NativeMapped`
Indicate the native type used by this converter.

Specified by:
  `nativeType` in interface `NativeMapped`
Returns:
  Java class representation of the native type.

### intValue

public int intValue()

Specified by:
  `intValue` in class `Number`

### longValue

public long longValue()

Specified by:
  `longValue` in class `Number`

### floatValue

public float floatValue()

Specified by:
  `floatValue` in class `Number`

### doubleValue

public double doubleValue()

Specified by:
  `doubleValue` in class `Number`

### equals

public boolean equals(Object rhs)

Overrides:
  `equals` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### compare

public static <T extends IntegerType> int compare(T v1, T v2)
Compares 2 derived `IntegerType` values - Note: a `null` value is considered greater than any non-`null` one (i.e., `null` values are "pushed" to the end of a sorted array / list of values)

Type Parameters:
  `T` - the derived integer type
Parameters:
  `v1` - The 1st value
  `v2` - The 2nd value
Returns:
  0 if values are equal - including if both are `null`, negative if 1st value less than 2nd one, positive otherwise. Note: the comparison uses the `longValue()`.
See Also:
  - `compare(long, long)`

### compare

public static int compare(IntegerType v1, long v2)
Compares a IntegerType value with a `long` one. Note: if the IntegerType value is `null` then it is consider greater than any `long` value.

Parameters:
  `v1` - The `IntegerType` value
  `v2` - The `long` value
Returns:
  0 if values are equal, negative if 1st value less than 2nd one, positive otherwise. Note: the comparison uses the `longValue()`.
See Also:
  - `compare(long, long)`

### compare

public static final int compare(long v1, long v2)