[ https://issues.apache.org/jira/browse/HBASE-11879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134455#comment-14134455 ]
Solomon Duskis commented on HBASE-11879: ---------------------------------------- I'm not sure that setConnection would work by itself. It looks like a TableName is needed in order to get a Table and RegionLocator. I think that if we want to have something like setConnection() method to replace setTable() and setRegionLocator(), Option 2a: {code} protected void initializeTable(Connection connection, TableName tableName); {code} Am I missing something? If the TableName is needed should we implement the original implementation with get/set table/regionLocator? Is there a better alternative? > Change TableInputFormatBase to take interface arguments > ------------------------------------------------------- > > Key: HBASE-11879 > URL: https://issues.apache.org/jira/browse/HBASE-11879 > Project: HBase > Issue Type: Improvement > Reporter: Carter > Assignee: Carter > > As part of the ongoing interface abstraction work, I'm now investigating > {{TableInputFormatBase}}, which has two methods that break encapsulation: > {code} > protected HTable getHTable(); > protected void setHTable(HTable table); > {code} > While these are protected methods, the base @InterfaceAudience.Public is > abstract, meaning that it supports extension by user code. > I propose deprecating these two methods and replacing them with these four, > once the Table interface is merged: > {code} > protected Table getTable(); > protected void setTable(Table table); > protected RegionLocator getRegionLocator(); > protected void setRegionLocator(RegionLocator regionLocator); > {code} > Since users will frequently call {{setTable}} and {{setRegionLocator}} > together, it probably also makes sense to add the following convenience > method: > {code} > protected void setTableAndRegionLocator(Table table, RegionLocator > regionLocator); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)