com.mapinfo.midev.dp.tab

## Class NativeTableDefinition

- java.lang.Object
- - com.mapinfo.midev.dp.tab.NativeTableDefinition

All Implemented Interfaces:
  IHasVolatility, ITableDefinition, IFileTableDefinition

    public final class NativeTableDefinition
    extends Object
    implements IFileTableDefinition, IHasVolatility

A definition for a MapInfo Native Table.

### Constructor Summary

Constructors
Constructor and Description
`NativeTableDefinition(File tabFile)` Create a new definition for a volatile MapInfo Native Table.
`NativeTableDefinition(File tabFile, boolean isVolatile)` Create a new definition for a MapInfo Native Table.
`NativeTableDefinition(File tabFile, boolean isVolatile, boolean isReadOnly)` Create a new definition for a MapInfo Native Table.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals(Object o)`
`NativeDataProvider` `getDataProvider()` Returns the `IDataProvider` implementation that supports this table type.
`File` `getDirectory()` Get the directory that contains the files of the MapInfo Native Table.
`File` `getFile()` Get the file reference for the .tab file.
`String` `getName()` Returns the name of the table.
`String` `getTableName()` Get the name of the MapInfo Native Table.
`int` `hashCode()`
`boolean` `isReadOnly()`
`boolean` `isVolatile()` Returns true if a table is volatile and should be checked for changes, otherwise returns false.
`void` `setReadOnly(boolean value)`
`void` `setVolatile(boolean value)` Set whether or not the table is volatile.

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

`getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### NativeTableDefinition

    public NativeTableDefinition(File tabFile)

Create a new definition for a volatile MapInfo Native Table.

Parameters:
  `tabFile` - The reference to the .tab file.

#### NativeTableDefinition

    public NativeTableDefinition(File tabFile,
                                 boolean isVolatile)

Create a new definition for a MapInfo Native Table.

Parameters:
  `tabFile` - The reference to the .tab file.
  `isVolatile` - The volatility of the table. Setting a table to be volatile disables some of the performance optimizations reserved for tables that are not modified.

#### NativeTableDefinition

    public NativeTableDefinition(File tabFile,
                                 boolean isVolatile,
                                 boolean isReadOnly)

Create a new definition for a MapInfo Native Table.

Parameters:
  `tabFile` - The reference to the .tab file.
  `isVolatile` - The volatility of the table. Setting a table to be volatile disables some of the performance optimizations reserved for tables that are not modified.
  `isReadOnly` - The readonly property of the table. Setting it to be true designates that table doesn't supports insert, update, delete operations in the table.

### Method Detail

#### getDataProvider

    public NativeDataProvider getDataProvider()

Description copied from interface: `ITableDefinition`
Returns the `IDataProvider` implementation that supports this table type.

Specified by:
  `getDataProvider` in interface `ITableDefinition`
Returns:
  the `IDataProvider` implementation that supports this table type.

#### getFile

    public File getFile()

Get the file reference for the .tab file.

Specified by:
  `getFile` in interface `IFileTableDefinition`
Returns:
  the file reference for the .tab file.

#### getDirectory

    public File getDirectory()

Get the directory that contains the files of the MapInfo Native Table.

Returns:
  the directory that contains the files of the MapInfo Native Table.

#### getTableName

    public String getTableName()

Get the name of the MapInfo Native Table. This is the name of the .tab file without the ".tab" extension.

Returns:
  the name of the MapInfo Native Table.

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### getName

    public String getName()

Description copied from interface: `ITableDefinition`
Returns the name of the table.

Specified by:
  `getName` in interface `ITableDefinition`
Returns:
  the name of the table

#### isVolatile

    public boolean isVolatile()

Description copied from interface: `IHasVolatility`
Returns true if a table is volatile and should be checked for changes, otherwise returns false.

Specified by:
  `isVolatile` in interface `IHasVolatility`
Returns:
  Returns true if a table is volatile and should be checked for changes, otherwise returns false.

#### setVolatile

    public void setVolatile(boolean value)

Set whether or not the table is volatile. Setting a table to be volatile disables some of the performance optimizations reserved for tables that are not modified.

#### isReadOnly

    public boolean isReadOnly()

#### setReadOnly

    public void setReadOnly(boolean value)