Package com.mckoi.store

## Interface MutableArea

All Superinterfaces:
  `Area`

    public interface MutableArea
    extends Area

An interface for an area that can be modified. Any changes made to an area may or may not be immediately reflected in already open areas with the same id. The specification does guarentee that after the 'checkOutAndClose' method is invoked that any new Area or MutableArea objects created by the backing store will contain the changes.

Author:
  Tobias Downer

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `checkOut()` Checks out all changes made to this area.
`void` `put​(byte b)`
`void` `put​(byte[] buf)`
`void` `put​(byte[] buf, int off, int len)`
`void` `putChar​(char c)`
`void` `putInt​(int i)`
`void` `putLong​(long l)`
`void` `putShort​(short s)`

### Methods inherited from interface com.mckoi.store.Area

`capacity, copyTo, get, get, getChar, getID, getInt, getLong, getShort, position, position`

### Method Detail

#### checkOut

    void checkOut()
           throws java.io.IOException

Checks out all changes made to this area. This should be called after a series of updates have been made to the area and the final change is to be 'finalized'. When this method returns, any new Area or MutableArea objects created by the backing store will contain the changes made to this object. Any changes made to the Area may or may not be made to any already existing areas.

In a logging implementation, this may flush out the changes made to the area in a log.

Throws:
  `java.io.IOException`

#### put

    void put​(byte b)
      throws java.io.IOException

Throws:
  `java.io.IOException`

#### put

    void put​(byte[] buf,
             int off,
             int len)
      throws java.io.IOException

Throws:
  `java.io.IOException`

#### put

    void put​(byte[] buf)
      throws java.io.IOException

Throws:
  `java.io.IOException`

#### putShort

    void putShort​(short s)
           throws java.io.IOException

Throws:
  `java.io.IOException`

#### putInt

    void putInt​(int i)
         throws java.io.IOException

Throws:
  `java.io.IOException`

#### putLong

    void putLong​(long l)
          throws java.io.IOException

Throws:
  `java.io.IOException`

#### putChar

    void putChar​(char c)
          throws java.io.IOException

Throws:
  `java.io.IOException`