# Class: MultiClassTheme

## MultiClassTheme()

#### new MultiClassTheme()

多表达式分段专题图

Source:
  - MultiClassTheme.js, line 15

### Methods

#### (async, static) appendExpression(exp, classItemType) → {int}

添加分级字段表达式

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`classItemType` | int | 统计分段类型

Source:
  - MultiClassTheme.js, line 158

##### Returns:

成功返回索引

Type
  int

#### (async, static) appendSubItem(exp, classItemValue) → {int}

添加和字段表达式对应的分段值

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`classItemValue` | Object | 和字段表达式对应的分段值

Source:
  - MultiClassTheme.js, line 267

##### Returns:

成功返回字段表达式索引

Type
  int

#### (async, static) clearSubItems(exp) → {boolean}

清除给定字段表达式的所有分段

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式

Source:
  - MultiClassTheme.js, line 375

##### Returns:

true-成功 ；false-失败

Type
  boolean

#### (async, static) createObj() → {Promise.<MultiClassTheme>}

构造一个新的MultiClassTheme对象

Source:
  - MultiClassTheme.js, line 38

##### Returns:

Type
  Promise.<MultiClassTheme>

#### (async, static) exchangeExpressions(index1, index2) → {boolean}

交换两个分级字段表达式

##### Parameters:

Name | Type | Description
--- | --- | ---
`index1` | int | 字段表达式的索引
`index2` | int | 字段表达式的索引

Source:
  - MultiClassTheme.js, line 227

##### Returns:

true-成功 ： false-失败

Type
  boolean

#### (async, static) getAllOtherDataItemInfoSource() → {int}

获得专题图类型

Source:
  - MultiClassTheme.js, line 120

##### Returns:

专题图类型，例：AllOtherDataItemInfoSource.DefaultThemeInfo

Type
  int

#### (async, static) getDefaultInfo() → {Promise.<ThemeInfo>}

获取缺省专题绘制信息

Source:
  - MultiClassTheme.js, line 55

##### Returns:

Type
  Promise.<ThemeInfo>

#### (async, static) getExpCount() → {int}

获得分级字段表达式的数目

Source:
  - MultiClassTheme.js, line 90

##### Returns:

分级字段表达式的数目

Type
  int

#### (async, static) getExpression(index) → {String}

获得分级字段表达式

##### Parameters:

Name | Type | Description
--- | --- | ---
`index` | int | 字段表达式索引

Source:
  - MultiClassTheme.js, line 210

##### Returns:

成功返回分级字段表达式

Type
  String

#### (async, static) getExpressionClassItemType(exp) → {int}

获得分级字段表达式的类型

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式

Source:
  - MultiClassTheme.js, line 247

##### Returns:

成功返回字段表达式的统计分段类型，例：ClassItemType.UniqueType

Type
  int

#### (async, static) getItem(index) → {Promise.<MultiClassThemeInfo>}

返回指定项（做完笛卡尔积之后）的信息

##### Parameters:

Name | Type | Description
--- | --- | ---
`index` | int | 项索引

Source:
  - MultiClassTheme.js, line 472

##### Returns:

成功返回指定项的信息

Type
  Promise.<MultiClassThemeInfo>

#### (async, static) getItemCount() → {int}

获得项（做完笛卡尔积之后）的个数

Source:
  - MultiClassTheme.js, line 105

##### Returns:

项（做完笛卡尔积之后）的个数

Type
  int

#### (async, static) getSubItemCount(exp) → {int}

获得给定字段表达式的分段数目

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式

Source:
  - MultiClassTheme.js, line 391

##### Returns:

成功返回给定字段表达式的分段数目

Type
  int

#### (async, static) getSubItemValue(exp, index) → {Promise.<ClassItemValue>}

获取给定字段表达式中指定索引处的值

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`index` | int | 分段索引

Source:
  - MultiClassTheme.js, line 431

##### Returns:

成功返回给定字段表达式中指定索引处的值

Type
  Promise.<ClassItemValue>

#### (async, static) indexOfExpression(exp) → {int}

获得分级字段表达式的索引

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String |

Source:
  - MultiClassTheme.js, line 194

##### Returns:

成功返回字段表达式的索引

Type
  int

#### (async, static) indexOfSubItem(exp, itemValue) → {int}

获得给定的值在分段中的索引

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`itemValue` | String | 字段值

Source:
  - MultiClassTheme.js, line 355

##### Returns:

成功返回给定的值在分段中的索引

Type
  int

#### (async, static) make(maintainExistentStyle) → {boolean}

生成所有的分段信息（该函数在调整了expression或者expression内部的分段信息后都需要调用）

##### Parameters:

Name | Type | Description
--- | --- | ---
`maintainExistentStyle` | boolean | 指示之前存在的分段的样式是否保持不变

Source:
  - MultiClassTheme.js, line 453

##### Returns:

true-成功 ；false-失败

Type
  boolean

#### (async, static) mergeSubItem(exp, index, count) → {boolean}

合并和字段表达式对应的分段值（只对表达式值为RangeTheme类型的管用）

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`index` | int | 待合并的分段值的索引
`count` | int | 待合并的分段值的数目

Source:
  - MultiClassTheme.js, line 310

##### Returns:

true-成功 ；false-失败

Type
  boolean

#### (async, static) removeExpression(exp) → {boolean}

移除分级字段表达式

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式

Source:
  - MultiClassTheme.js, line 178

##### Returns:

true-成功 ：false-失败

Type
  boolean

#### (async, static) removeSubItem(exp, index) → {boolean}

删除和字段表达式对应的分段值

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`index` | int | 和字段表达式对应的分段值的索引

Source:
  - MultiClassTheme.js, line 288

##### Returns:

true-成功 ；false-失败

Type
  boolean

#### (async, static) setAllOtherDataItemInfoSource(allOtherDataItemInfoSource) → {Promise.<Void>}

设置专题图类型

##### Parameters:

Name | Type | Description
--- | --- | ---
`allOtherDataItemInfoSource` | int | 专题图类型，例：AllOtherDataItemInfoSource.DefaultThemeInfo

Source:
  - MultiClassTheme.js, line 139

##### Returns:

Type
  Promise.<Void>

#### (async, static) setDefaultInfo(themeInfo) → {Promise.<Void>}

设置缺省专题绘制信息

##### Parameters:

Name | Type | Description
--- | --- | ---
`themeInfo` | Object | 缺省专题绘制信息

Source:
  - MultiClassTheme.js, line 73

##### Returns:

Type
  Promise.<Void>

#### (async, static) setItem(index, multiClassThemeInfo) → {boolean}

设置每个项（做完笛卡尔积之后）的信息

##### Parameters:

Name | Type | Description
--- | --- | ---
`index` | int | 项索引
`multiClassThemeInfo` | Object | 项信息

Source:
  - MultiClassTheme.js, line 494

##### Returns:

true-成功 ；false-失败

Type
  boolean

#### (async, static) setSubItemValue(exp, index, classItemValue) → {boolean}

修改给定字段表达式中指定索引处的值

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`index` | int | 分段索引
`classItemValue` | Object | 分段值

Source:
  - MultiClassTheme.js, line 409

##### Returns:

true-成功 ；false-失败

Type
  boolean

#### (async, static) splitSubItem(exp, index, splitValue) → {boolean}

分裂给定字段表达式对应的分段值（只对表达式值为RangeTheme类型的管用）

##### Parameters:

Name | Type | Description
--- | --- | ---
`exp` | String | 字段表达式
`index` | int | 待分裂的分段值的索引
`splitValue` | double | 拆分值

Source:
  - MultiClassTheme.js, line 333

##### Returns:

true-成功 ；false-失败

Type
  boolean