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 assertGetActualTableNames() {
          TableRule actual = new TableRule(new ShardingTableRuleConfiguration("LOGIC_TABLE", "ds${0..1}.table_${0..2}"), Arrays.asList("ds0", "ds1"), null, null, null);
          assertThat(actual.getActualTableNames("ds0"), is(Sets.newLinkedHashSet(Arrays.asList("table_0", "table_1", "table_2"))));
          assertThat(actual.getActualTableNames("ds1"), is(Sets.newLinkedHashSet(Arrays.asList("table_0", "table_1", "table_2"))));
          assertThat(actual.getActualTableNames("ds2"), is(Collections.emptySet()));
      }
test_case.class_method_signature: TableRuleTest.assertGetActualTableNames()
test_case.full_signature: @Test public void assertGetActualTableNames()
test_case.identifier: assertGetActualTableNames
test_case.invocations: asList assertThat getActualTableNames is newLinkedHashSet asList assertThat getActualTableNames is newLinkedHashSet asList assertThat getActualTableNames is emptySet
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertGetActualTableNames()
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 Collection<String> getActualTableNames(final String targetDataSource) {
          return datasourceToTablesMap.getOrDefault(targetDataSource, Collections.emptySet());
      }
focal_method.class_method_signature: TableRule.getActualTableNames(final String targetDataSource)
focal_method.full_signature: public Collection<String> getActualTableNames(final String targetDataSource)
focal_method.identifier: getActualTableNames
focal_method.invocations: getOrDefault emptySet
focal_method.modifiers: public
focal_method.parameters: (final String targetDataSource)
focal_method.return: Collection<String>
focal_method.signature: Collection<String> getActualTableNames(final String targetDataSource)