public boolean equals()

in hbase-common/src/main/java/org/apache/omid/transaction/CellUtils.java [396:443]


        public boolean equals(Object o) {
            if (o == this)
                return true;
            if (!(o instanceof CellId))
                return false;
            CellId otherCellId = (CellId) o;
            Cell otherCell = otherCellId.getCell();

            // Row comparison
            if (!CellUtil.matchingRows(otherCell, cell)) {
                return false;
            }

            // Family comparison
            if (!CellUtil.matchingFamily(otherCell, cell)) {
                return false;
            }

            // Qualifier comparison
            int qualifierLength = cell.getQualifierLength();
            int qualifierOffset = cell.getQualifierOffset();
            int otherQualifierLength = otherCell.getQualifierLength();
            int otherQualifierOffset = otherCell.getQualifierOffset();

            if (isShadowCell()) {
                qualifierLength = qualifierLengthFromShadowCellQualifier(cell.getQualifierArray(),
                        cell.getQualifierOffset(),
                        cell.getQualifierLength());
                qualifierOffset = qualifierOffsetFromShadowCellQualifier(cell.getQualifierArray(), cell.getQualifierOffset(),
                        cell.getQualifierLength());
            }
            if (otherCellId.isShadowCell()) {
                otherQualifierLength = qualifierLengthFromShadowCellQualifier(otherCell.getQualifierArray(),
                        otherCell.getQualifierOffset(),
                        otherCell.getQualifierLength());
                otherQualifierOffset = qualifierOffsetFromShadowCellQualifier(otherCell.getQualifierArray(), otherCell.getQualifierOffset(),
                        otherCell.getQualifierLength());
            }

            if (!Bytes.equals(cell.getQualifierArray(), qualifierOffset, qualifierLength,
                    otherCell.getQualifierArray(), otherQualifierOffset, otherQualifierLength)) {
                return false;
            }

            // Timestamp comparison
            return otherCell.getTimestamp() == cell.getTimestamp();

        }