# Class DataTable

The Factory class is a base class which can be used to make any classes externally extensible. A filter is added for wpgmza_create_{class} which is called by createInstance. If this filter returns a subclass of Factory, that filter will override the default class and will be used.

IMPORTANT: Any objects which subclass Factory MUST be created by calling createInstance on the subclass. Calling new on the constructor directly will not cause this filter to fire, and the extended class will not be used.

  WPGMZA\Factory
  WPGMZA\Table
  WPGMZA\AjaxTable
  WPGMZA\DataTable

#### Direct known subclasses

WPGMZA\MarkerDataTable

#### Indirect known subclasses

WPGMZA\AdminMarkerDataTable
Namespace: WPGMZA
Located at tables/class.datatable.php

Methods summary
`public` | # `__construct( $table_name, $ajax_parameters = null, $datatable_options = null )` #### Overrides `WPGMZA\AjaxTable::__construct()`
`protected` | # `getColumns( )` #### Overrides `WPGMZA\AjaxTable::getColumns()`
`protected` | # `getOrderBy( $input_params, $column_keys )` #### Overrides `WPGMZA\AjaxTable::getOrderBy()`
`protected` | # `getOrderDirection( $input_params )` #### Overrides `WPGMZA\AjaxTable::getOrderDirection()`
`public` | # `getDataTableOptions( )`
`public` | # `setDataTableOptions( $options )`
`public` | # `data( $input_params )` #### Overrides `WPGMZA\AjaxTable::data()`
`protected` | # `initTableDOM( )`
`public` | # `getRecords( $input_params )` #### Overrides `WPGMZA\AjaxTable::getRecords()`

Methods inherited from WPGMZA\AjaxTable
`filterColumns(), filterOrderBy(), filterOrderDirection(), filterResults(), getAjaxParameters(), getAttributeParams(), getColumnNameByIndex(), getHavingClause(), getRestAPIRoute(), getSearchClause(), getWhereClause(), setAjaxParameters(), setAttributeParams(), setRestAPIRoute()`

Methods inherited from WPGMZA\Table
`__get(), __set(), getElement(), html(), loadDocument()`

Methods inherited from WPGMZA\Factory
`createInstance()`