[
https://issues.apache.org/jira/browse/HBASE-4347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lars Hofhansl updated HBASE-4347:
---------------------------------
Attachment: 4347-v2.txt
Patch rebased for HBASE-2195.
There is a *lot* duplicate code removed now.
> Remove duplicated code from Put, Delete, Get, Scan, MultiPut
> ------------------------------------------------------------
>
> Key: HBASE-4347
> URL: https://issues.apache.org/jira/browse/HBASE-4347
> Project: HBase
> Issue Type: Improvement
> Components: util
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Priority: Minor
> Fix For: 0.92.0
>
> Attachments: 4347-v2.txt, 4347.txt
>
>
> This came from discussion with Stack w.r.t. HBASE-2195.
> There is currently a lot of duplicated code especially between Put and
> Delete, and also between all Operations.
> For example all of Put/Delete/Get/Scan have attributes with exactly the same
> code in all classes.
> Put and Delete also have the familyMap, Row, Rowlock, Timestamp, etc.
> One way to do this is to introduce "OperationWithAttributes" which extends
> Operation, and have Put/Delete/Get/Scan extend that rather than Operation.
> In addition Put and Delete could extends from Mutation (which itself would
> extend OperationWithAttributes).
> If a static inheritance hierarchy is not desired here, we can use delegation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira