test_class.file: shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/rule/TableRuleTest.java
test_class.identifier: TableRuleTest
test_case.body: @Test
      public void assertCreateFullTableRule() {
          ShardingTableRuleConfiguration tableRuleConfig = new ShardingTableRuleConfiguration("LOGIC_TABLE", "ds${0..1}.table_${0..2}");
          tableRuleConfig.setDatabaseShardingStrategy(new NoneShardingStrategyConfiguration());
          tableRuleConfig.setTableShardingStrategy(new NoneShardingStrategyConfiguration());
          tableRuleConfig.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("col_1", "increment"));
          TableRule actual = new TableRule(tableRuleConfig, Arrays.asList("ds0", "ds1"), null, null, null);
          assertThat(actual.getLogicTable(), is("logic_table"));
          assertThat(actual.getActualDataNodes().size(), is(6));
          assertTrue(actual.getActualDataNodes().contains(new DataNode("ds0", "table_0")));
          assertTrue(actual.getActualDataNodes().contains(new DataNode("ds0", "table_1")));
          assertTrue(actual.getActualDataNodes().contains(new DataNode("ds0", "table_2")));
          assertTrue(actual.getActualDataNodes().contains(new DataNode("ds1", "table_0")));
          assertTrue(actual.getActualDataNodes().contains(new DataNode("ds1", "table_1")));
          assertTrue(actual.getActualDataNodes().contains(new DataNode("ds1", "table_2")));
          assertNotNull(actual.getDatabaseShardingStrategy());
          assertNotNull(actual.getTableShardingStrategy());
          assertTrue(actual.getGenerateKeyColumn().isPresent());
          assertThat(actual.getGenerateKeyColumn().get(), is("col_1"));
          assertThat(actual.getKeyGeneratorName(), is("increment"));
      }
test_case.class_method_signature: TableRuleTest.assertCreateFullTableRule()
test_case.full_signature: @Test public void assertCreateFullTableRule()
test_case.identifier: assertCreateFullTableRule
test_case.invocations: setDatabaseShardingStrategy setTableShardingStrategy setKeyGenerateStrategy asList assertThat getLogicTable is assertThat size getActualDataNodes is assertTrue contains getActualDataNodes assertTrue contains getActualDataNodes assertTrue contains getActualDataNodes assertTrue contains getActualDataNodes assertTrue contains getActualDataNodes assertTrue contains getActualDataNodes assertNotNull getDatabaseShardingStrategy assertNotNull getTableShardingStrategy assertTrue isPresent getGenerateKeyColumn assertThat get getGenerateKeyColumn is assertThat getKeyGeneratorName is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertCreateFullTableRule()
focal_class.declarator: logicTable
focal_class.modifier: private final
focal_class.original_string: private final String logicTable;
focal_class.type: String
focal_class.var_name: logicTable
focal_class.declarator: actualDataNodes
focal_class.modifier: private final
focal_class.original_string: private final List<DataNode> actualDataNodes;
focal_class.type: List<DataNode>
focal_class.var_name: actualDataNodes
focal_class.declarator: actualTables
focal_class.modifier: @Getter(AccessLevel.NONE)
      private final
focal_class.original_string: @Getter(AccessLevel.NONE)
      private final Set<String> actualTables;
focal_class.type: Set<String>
focal_class.var_name: actualTables
focal_class.declarator: dataNodeIndexMap
focal_class.modifier: @Getter(AccessLevel.NONE)
      private final
focal_class.original_string: @Getter(AccessLevel.NONE)
      private final Map<DataNode, Integer> dataNodeIndexMap;
focal_class.type: Map<DataNode, Integer>
focal_class.var_name: dataNodeIndexMap
focal_class.declarator: databaseShardingStrategy
focal_class.modifier: private final
focal_class.original_string: private final ShardingStrategy databaseShardingStrategy;
focal_class.type: ShardingStrategy
focal_class.var_name: databaseShardingStrategy
focal_class.declarator: tableShardingStrategy
focal_class.modifier: private final
focal_class.original_string: private final ShardingStrategy tableShardingStrategy;
focal_class.type: ShardingStrategy
focal_class.var_name: tableShardingStrategy
focal_class.declarator: generateKeyColumn
focal_class.modifier: @Getter(AccessLevel.NONE)
      private final
focal_class.original_string: @Getter(AccessLevel.NONE)
      private final String generateKeyColumn;
focal_class.type: String
focal_class.var_name: generateKeyColumn
focal_class.declarator: keyGeneratorName
focal_class.modifier: private final
focal_class.original_string: private final String keyGeneratorName;
focal_class.type: String
focal_class.var_name: keyGeneratorName
focal_class.declarator: actualDatasourceNames = new LinkedHashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Collection<String> actualDatasourceNames = new LinkedHashSet<>();
focal_class.type: Collection<String>
focal_class.var_name: actualDatasourceNames
focal_class.declarator: datasourceToTablesMap = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, Collection<String>> datasourceToTablesMap = new HashMap<>();
focal_class.type: Map<String, Collection<String>>
focal_class.var_name: datasourceToTablesMap
focal_class.file: shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/rule/TableRule.java
focal_class.identifier: TableRule
focal_class.class_method_signature: TableRule.TableRule(final Collection<String> dataSourceNames, final String logicTableName)
focal_class.full_signature: public  TableRule(final Collection<String> dataSourceNames, final String logicTableName)
focal_class.identifier: TableRule
focal_class.modifiers: public
focal_class.parameters: (final Collection<String> dataSourceNames, final String logicTableName)
focal_class.signature:  TableRule(final Collection<String> dataSourceNames, final String logicTableName)
focal_class.class_method_signature: TableRule.TableRule(final ShardingTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames, 
                       final ShardingAlgorithm databaseShardingAlgorithm, final ShardingAlgorithm tableShardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.full_signature: public  TableRule(final ShardingTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames, 
                       final ShardingAlgorithm databaseShardingAlgorithm, final ShardingAlgorithm tableShardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.identifier: TableRule
focal_class.modifiers: public
focal_class.parameters: (final ShardingTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames, 
                       final ShardingAlgorithm databaseShardingAlgorithm, final ShardingAlgorithm tableShardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.signature:  TableRule(final ShardingTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames, 
                       final ShardingAlgorithm databaseShardingAlgorithm, final ShardingAlgorithm tableShardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.class_method_signature: TableRule.TableRule(final ShardingAutoTableRuleConfiguration tableRuleConfig, 
                       final Collection<String> dataSourceNames, final ShardingAlgorithm shardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.full_signature: public  TableRule(final ShardingAutoTableRuleConfiguration tableRuleConfig, 
                       final Collection<String> dataSourceNames, final ShardingAlgorithm shardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.identifier: TableRule
focal_class.modifiers: public
focal_class.parameters: (final ShardingAutoTableRuleConfiguration tableRuleConfig, 
                       final Collection<String> dataSourceNames, final ShardingAlgorithm shardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.signature:  TableRule(final ShardingAutoTableRuleConfiguration tableRuleConfig, 
                       final Collection<String> dataSourceNames, final ShardingAlgorithm shardingAlgorithm, final String defaultGenerateKeyColumn)
focal_class.class_method_signature: TableRule.createShardingStrategy(final ShardingStrategyConfiguration shardingStrategyConfig, final ShardingAlgorithm shardingAlgorithm)
focal_class.full_signature: private ShardingStrategy createShardingStrategy(final ShardingStrategyConfiguration shardingStrategyConfig, final ShardingAlgorithm shardingAlgorithm)
focal_class.identifier: createShardingStrategy
focal_class.modifiers: private
focal_class.parameters: (final ShardingStrategyConfiguration shardingStrategyConfig, final ShardingAlgorithm shardingAlgorithm)
focal_class.return: ShardingStrategy
focal_class.signature: ShardingStrategy createShardingStrategy(final ShardingStrategyConfiguration shardingStrategyConfig, final ShardingAlgorithm shardingAlgorithm)
focal_class.class_method_signature: TableRule.getDataNodes(final ShardingAutoTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames)
focal_class.full_signature: private List<String> getDataNodes(final ShardingAutoTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames)
focal_class.identifier: getDataNodes
focal_class.modifiers: private
focal_class.parameters: (final ShardingAutoTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames)
focal_class.return: List<String>
focal_class.signature: List<String> getDataNodes(final ShardingAutoTableRuleConfiguration tableRuleConfig, final Collection<String> dataSourceNames)
focal_class.class_method_signature: TableRule.getActualTables()
focal_class.full_signature: private Set<String> getActualTables()
focal_class.identifier: getActualTables
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getActualTables()
focal_class.class_method_signature: TableRule.addActualTable(final String datasourceName, final String tableName)
focal_class.full_signature: private void addActualTable(final String datasourceName, final String tableName)
focal_class.identifier: addActualTable
focal_class.modifiers: private
focal_class.parameters: (final String datasourceName, final String tableName)
focal_class.return: void
focal_class.signature: void addActualTable(final String datasourceName, final String tableName)
focal_class.class_method_signature: TableRule.isEmptyDataNodes(final List<String> dataNodes)
focal_class.full_signature: private boolean isEmptyDataNodes(final List<String> dataNodes)
focal_class.identifier: isEmptyDataNodes
focal_class.modifiers: private
focal_class.parameters: (final List<String> dataNodes)
focal_class.return: boolean
focal_class.signature: boolean isEmptyDataNodes(final List<String> dataNodes)
focal_class.class_method_signature: TableRule.generateDataNodes(final String logicTable, final Collection<String> dataSourceNames)
focal_class.full_signature: private List<DataNode> generateDataNodes(final String logicTable, final Collection<String> dataSourceNames)
focal_class.identifier: generateDataNodes
focal_class.modifiers: private
focal_class.parameters: (final String logicTable, final Collection<String> dataSourceNames)
focal_class.return: List<DataNode>
focal_class.signature: List<DataNode> generateDataNodes(final String logicTable, final Collection<String> dataSourceNames)
focal_class.class_method_signature: TableRule.generateDataNodes(final List<String> actualDataNodes, final Collection<String> dataSourceNames)
focal_class.full_signature: private List<DataNode> generateDataNodes(final List<String> actualDataNodes, final Collection<String> dataSourceNames)
focal_class.identifier: generateDataNodes
focal_class.modifiers: private
focal_class.parameters: (final List<String> actualDataNodes, final Collection<String> dataSourceNames)
focal_class.return: List<DataNode>
focal_class.signature: List<DataNode> generateDataNodes(final List<String> actualDataNodes, final Collection<String> dataSourceNames)
focal_class.class_method_signature: TableRule.getDataNodeGroups()
focal_class.full_signature: public Map<String, List<DataNode>> getDataNodeGroups()
focal_class.identifier: getDataNodeGroups
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, List<DataNode>>
focal_class.signature: Map<String, List<DataNode>> getDataNodeGroups()
focal_class.class_method_signature: TableRule.getActualDatasourceNames()
focal_class.full_signature: public Collection<String> getActualDatasourceNames()
focal_class.identifier: getActualDatasourceNames
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getActualDatasourceNames()
focal_class.class_method_signature: TableRule.getActualTableNames(final String targetDataSource)
focal_class.full_signature: public Collection<String> getActualTableNames(final String targetDataSource)
focal_class.identifier: getActualTableNames
focal_class.modifiers: public
focal_class.parameters: (final String targetDataSource)
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getActualTableNames(final String targetDataSource)
focal_class.class_method_signature: TableRule.findActualTableIndex(final String dataSourceName, final String actualTableName)
focal_class.full_signature:  int findActualTableIndex(final String dataSourceName, final String actualTableName)
focal_class.identifier: findActualTableIndex
focal_class.parameters: (final String dataSourceName, final String actualTableName)
focal_class.return: int
focal_class.signature: int findActualTableIndex(final String dataSourceName, final String actualTableName)
focal_class.class_method_signature: TableRule.isExisted(final String actualTableName)
focal_class.full_signature:  boolean isExisted(final String actualTableName)
focal_class.identifier: isExisted
focal_class.parameters: (final String actualTableName)
focal_class.return: boolean
focal_class.signature: boolean isExisted(final String actualTableName)
focal_class.class_method_signature: TableRule.checkRule(final List<String> dataNodes)
focal_class.full_signature: private void checkRule(final List<String> dataNodes)
focal_class.identifier: checkRule
focal_class.modifiers: private
focal_class.parameters: (final List<String> dataNodes)
focal_class.return: void
focal_class.signature: void checkRule(final List<String> dataNodes)
focal_class.class_method_signature: TableRule.getGenerateKeyColumn()
focal_class.full_signature: public Optional<String> getGenerateKeyColumn()
focal_class.identifier: getGenerateKeyColumn
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<String>
focal_class.signature: Optional<String> getGenerateKeyColumn()
focal_method.body: public Optional<String> getGenerateKeyColumn() {
          return Optional.ofNullable(generateKeyColumn);
      }
focal_method.class_method_signature: TableRule.getGenerateKeyColumn()
focal_method.full_signature: public Optional<String> getGenerateKeyColumn()
focal_method.identifier: getGenerateKeyColumn
focal_method.invocations: ofNullable
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Optional<String>
focal_method.signature: Optional<String> getGenerateKeyColumn()