Class Indexes
java.lang.Object
org.projog.core.predicate.udp.Indexes
Supports term indexing of user defined predicates.
See: https://en.wikipedia.org/wiki/Prolog#Term_indexing
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int[]private final SoftReference<Index>[]private final Objectprivate final ClauseAction[]private static final intMaximum number of arguments of a clause that will be considered indexable.private final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Map<Object, ClauseAction[]> convertListsToArrays(Map<Object, List<ClauseAction>> map) (package private) int(package private) intprivate intcreateBitmask(Term[] args) private IndexcreateIndex(int bitmask) private int[]createPositionsFromBitmask(int bitmask) (package private) intgetOrCreateIndex(int bitmask) private Map<Object, List<ClauseAction>> groupDataByPositions(int[] positions) (package private) ClauseAction[]
-
Field Details
-
MAX_INDEXABLE_ARGS
private static final int MAX_INDEXABLE_ARGSMaximum number of arguments of a clause that will be considered indexable.Note that this is not the same as the maximum number of arguments that can be included in a single index.
- See Also:
-
masterData
-
lock
-
indexes
-
indexableArgs
private final int[] indexableArgs -
numIndexableArgs
private final int numIndexableArgs
-
-
Constructor Details
-
Indexes
Indexes(Clauses clauses)
-
-
Method Details
-
index
-
getClauseCount
int getClauseCount() -
createBitmask
-
getOrCreateIndex
-
createIndex
-
createPositionsFromBitmask
private int[] createPositionsFromBitmask(int bitmask) -
groupDataByPositions
-
convertListsToArrays
-
countReferences
int countReferences() -
countClearedReferences
int countClearedReferences()
-