[ 
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)

Reply via email to