@Override public T findElement(HollowSet<T> set, int ordinal, Object... keys) { int elementOrdinal = dataAccess.findElement(ordinal, keys); if(elementOrdinal != -1) return set.instantiateElement(elementOrdinal); return null; }
@Override public boolean contains(HollowSet<T> set, int ordinal, Object o) { if(getSchema().getHashKey() != null) { for(int i=0;i<ordinals.length;i++) { if(ordinals[i] != -1 && set.equalsElement(ordinals[i], o)) return true; } } else { int hashCode = dataAccess.getDataAccess().getHashCodeFinder().hashCode(o); int bucket = HashCodes.hashInt(hashCode) & hashMask; while(ordinals[bucket] != -1) { if(set.equalsElement(ordinals[bucket], o)) return true; bucket ++; bucket &= hashMask; } } return false; }
@Override public boolean contains(HollowSet<T> set, int ordinal, Object o) { HollowOrdinalIterator iter; if(getSchema().getHashKey() != null) { iter = dataAccess.ordinalIterator(ordinal); } else { int hashCode = dataAccess.getDataAccess().getHashCodeFinder().hashCode(o); iter = dataAccess.potentialMatchOrdinalIterator(ordinal, hashCode); } int potentialOrdinal = iter.next(); while(potentialOrdinal != HollowOrdinalIterator.NO_MORE_ORDINALS) { if(set.equalsElement(potentialOrdinal, o)) return true; potentialOrdinal = iter.next(); } return false; }
@Override public T findElement(HollowSet<T> set, int ordinal, Object... keys) { int elementOrdinal = dataAccess.findElement(ordinal, keys); if(elementOrdinal != -1) return set.instantiateElement(elementOrdinal); return null; }