com.eventsourcing.index.AbstractHashingAttributeIndex Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eventsourcing-core Show documentation
Show all versions of eventsourcing-core Show documentation
Event capture and querying framework for Java
/**
* Copyright (c) 2016, All Contributors (see CONTRIBUTORS file)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.eventsourcing.index;
import com.eventsourcing.Entity;
import com.google.common.hash.HashFunction;
import com.googlecode.cqengine.query.Query;
import java.util.Set;
public abstract class AbstractHashingAttributeIndex extends AbstractAttributeIndex {
protected final HashFunction hashFunction;
protected final int hashSize;
/**
* Protected constructor, called by subclasses.
*
* @param attribute The attribute on which the index will be built
* @param supportedQueries The set of {@link Query} types which the subclass implementation supports
* @param hashFunction
*/
protected AbstractHashingAttributeIndex(Attribute attribute, Set>
supportedQueries, HashFunction hashFunction) {
super(attribute, supportedQueries);
this.hashFunction = hashFunction;
hashSize = hashFunction.bits() / 8;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy