Class TypedHasherFactory
java.lang.Object
io.deephaven.engine.table.impl.by.typed.TypedHasherFactory
Produces typed hashers (e.g. byte * object * float * double * int) on-demand or using a set of pregenerated and
precompiled hashers for singleton and pairs of types.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> @NotNull com.squareup.javapoet.JavaFile
generateHasher
(HasherConfig<T> hasherConfig, ChunkType[] chunkTypes, String className, Optional<Modifier> visibility) static @NotNull String
getEqualsStatement
(ChunkType[] chunkTypes) static @NotNull String
getEqualsStatementAlternate
(ChunkType[] chunkTypes) static <T> @NotNull HasherConfig<T>
hasherConfigForBase
(Class<T> baseClass) static @NotNull String
hasherName
(HasherConfig<?> hasherConfig, ChunkType[] chunkTypes) static <T> T
make
(HasherConfig<T> hasherConfig, ColumnSource<?>[] tableKeySources, ColumnSource<?>[] originalKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor) Produce a hasher for the given base class and column sources.static <T> T
make
(Class<T> baseClass, ColumnSource<?>[] tableKeySources, ColumnSource<?>[] originalKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor) Produce a hasher for the given base class and column sources.static @NotNull String
packageName
(HasherConfig<?> hasherConfig)
-
Constructor Details
-
TypedHasherFactory
public TypedHasherFactory()
-
-
Method Details
-
make
public static <T> T make(Class<T> baseClass, ColumnSource<?>[] tableKeySources, ColumnSource<?>[] originalKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor) Produce a hasher for the given base class and column sources.- Type Parameters:
T
- the base class- Parameters:
baseClass
- the base class (e.g.IncrementalChunkedOperatorAggregationStateManagerOpenAddressedBase
that the generated hasher extends fromtableKeySources
- the key sourcesoriginalKeySources
-tableSize
- the initial table sizemaximumLoadFactor
- the maximum load factor of the for the tabletargetLoadFactor
- the load factor that we will rehash to- Returns:
- an instantiated hasher
-
hasherConfigForBase
-
make
public static <T> T make(HasherConfig<T> hasherConfig, ColumnSource<?>[] tableKeySources, ColumnSource<?>[] originalKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor) Produce a hasher for the given base class and column sources.- Type Parameters:
T
- the base class- Parameters:
hasherConfig
- the configuration of the class to generatetableKeySources
- the key sourcestableSize
- the initial table sizemaximumLoadFactor
- the maximum load factor of the for the tabletargetLoadFactor
- the load factor that we will rehash to- Returns:
- an instantiated hasher
-
packageName
-
hasherName
@NotNull public static @NotNull String hasherName(HasherConfig<?> hasherConfig, ChunkType[] chunkTypes) -
generateHasher
@NotNull public static <T> @NotNull com.squareup.javapoet.JavaFile generateHasher(HasherConfig<T> hasherConfig, ChunkType[] chunkTypes, String className, Optional<Modifier> visibility) -
getEqualsStatement
-
getEqualsStatementAlternate
-