Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| " 2013 FRC Java API "
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.cldc.jna
Class Structure

    java.lang.Object
      com.sun.cldc.jna.Structure

Direct Known Subclasses:
  CurveOptions, DynamicStructure, EllipseDescriptor, FRCCommonControlData, FRCControl.DynamicControlData, LibCImpl.statImpl, LibCImpl.statImpl, NetDBImpl.hostentImpl, NetDBImpl.hostentImpl, NIVision.Range, NIVision.Rect, OpaqueStructure, RegionOfInterest, ShapeDetectionOptions, TimeImpl.timevalImpl, TimeImpl.timevalImpl

    public abstract class Structure

extends Object

Abstract class for proxies to native structure types.

Field Summary
`protected Pointer` | `backingNativeMemory`
`static Structure` | `NULL` Singleton object that can be used as a NULL structure instance.

Constructor Summary
`protected` | `Structure()`
`protected` | `Structure(Pointer backingNativeMemory)`

Method Summary
`void` | `allocateMemory()` Attempt to allocate backing memory for the structure.
`void` | `allocateMemory(int size)` Attempt to allocate backing memory for the structure.
`void` | `clear()` Set the backing memory to zeros.
`void` | `freeMemory()` Free the backing memory for the structure.
`Pointer` | `getPointer()` Get the backing native memory used by this structure.
`abstract void` | `read()` Copy the fields of the struct from native memory to the Java fields
`void` | `release()` Release the backing memory for the structure, if it was malloced
`abstract int` | `size()`
`String` | `toString()` Returns a string representation of the object.
`void` | `useMemory(Pointer m)` Set the backing native memory used by this structure.
`abstract void` | `write()` Copy the java fields of the struct to native memory from the Java fields

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### backingNativeMemory

    protected Pointer backingNativeMemory

### NULL

    public static final Structure NULL

  Singleton object that can be used as a NULL structure instance.

Constructor Detail

### Structure

    protected Structure(Pointer backingNativeMemory)

### Structure

    protected Structure()

Method Detail

### read

    public abstract void read()

  Copy the fields of the struct from native memory to the Java fields

### write

    public abstract void write()

  Copy the java fields of the struct to native memory from the Java fields

### size

    public abstract int size()

  Returns:
    the size of the native structure

### getPointer

    public final Pointer getPointer()

  Get the backing native memory used by this structure. May return null if allocateMemory() has not been called, or if the Structure is permantently attached to C memory.

  Returns:
    the memory

### useMemory

    public final void useMemory(Pointer m)

  Set the backing native memory used by this structure.

  Parameters:
    `m` - the native memory
  Throws:
    `IllegalStateException` - if this structure already has memory allocated

### allocateMemory

    public void allocateMemory()
                        throws OutOfMemoryError

  Attempt to allocate backing memory for the structure. This memory should be freed when not needed

  Throws:
    `OutOfMemoryError` - if backing native memory cannot be allocated.
    `IllegalStateException` - if this structure already has memory allocated

### allocateMemory

    public void allocateMemory(int size)
                        throws OutOfMemoryError

  Attempt to allocate backing memory for the structure.

  Parameters:
    `size` - in bytes ito allocate
  Throws:
    `IllegalArgumentException` - if the requested size is smaller than the default size
    `OutOfMemoryError` - if backing native memory cannot be allocated.
    `IllegalStateException` - if this structure already has memory allocated

### freeMemory

    public void freeMemory()
                    throws IllegalStateException

  Free the backing memory for the structure.

  Throws:
    `IllegalStateException` - if the memory has already been freed.

### release

    public void release()
                 throws IllegalStateException

  Release the backing memory for the structure, if it was malloced

  Throws:
    `IllegalStateException` - if the memory has already been freed.

### clear

    public void clear()

  Set the backing memory to zeros.

### toString

    public String toString()

  Description copied from class: `Object`
  Returns a string representation of the object. In general, the `toString` method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

  The `toString` method for class `Object` returns a string consisting of the name of the class of which the object is an instance, the at-sign character ``@`', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

  >      getClass().getName() + '@' + Integer.toHexString(hashCode())

  Overrides:
    `toString` in class `Object`
  Returns:
    a string representation of the object.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| " 2013 FRC Java API "
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

"
For updated information see the Java FRC site
"