[ https://issues.apache.org/jira/browse/HBASE-18825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16172430#comment-16172430 ]
Duo Zhang commented on HBASE-18825: ----------------------------------- For StoreFile, Store, and Region, we will not have multiple implementation classes so it is not necessary to have an interface for us. I think the main reason we have an interface is that, we need to expose these stuffs to CP users and we do not want to expose an implementation class. The problem for now is that we also uses the interface in our own code, so we need to declared every method in the interface, even if the method is not suitable for calling by CP users. For example, the several getScanner methods, which accept a SQM which is declared as IA.Private as a parameter. So here I think we can just use implementation classes in our own code, then we can remove the methods from the interface which we do not want to expose to CP users. Thanks. > Use HStoreFile instead of StoreFile in our own code base and remove > unnecessary methods in StoreFile interface > -------------------------------------------------------------------------------------------------------------- > > Key: HBASE-18825 > URL: https://issues.apache.org/jira/browse/HBASE-18825 > Project: HBase > Issue Type: Sub-task > Components: Coprocessors > Reporter: Duo Zhang > Assignee: Duo Zhang > Fix For: 2.0.0-alpha-4 > > Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, > HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch > > > Use generic types to avoid too many casts. -- This message was sent by Atlassian JIRA (v6.4.14#64029)