public class LCSubstringSolver extends Object
ConcurrentRadixTree and combines it with elements from
ConcurrentSuffixTree, but implements its own traversal algorithm.| Constructor and Description |
|---|
LCSubstringSolver(NodeFactory nodeFactory)
Creates a new
LCSubstringSolver which will use the given NodeFactory to create nodes. |
LCSubstringSolver(NodeFactory nodeFactory,
boolean restrictConcurrency)
Creates a new
LCSubstringSolver which will use the given NodeFactory to create nodes. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(CharSequence document)
Adds a
CharSequence document to the solver. |
protected Set<String> |
createSetForOriginalKeys() |
CharSequence |
getLongestCommonSubstring()
Finds the longest common substring in the documents added to the solver so far.
|
public LCSubstringSolver(NodeFactory nodeFactory)
LCSubstringSolver which will use the given NodeFactory to create nodes.nodeFactory - An object which creates Node objects
on-demand, and which might return node implementations optimized for storing the values supplied to it for
the creation of each nodepublic LCSubstringSolver(NodeFactory nodeFactory, boolean restrictConcurrency)
LCSubstringSolver which will use the given NodeFactory to create nodes.nodeFactory - An object which creates Node objects
on-demand, and which might return node implementations optimized for storing the values supplied to it for the
creation of each noderestrictConcurrency - If true, configures use of a ReadWriteLock allowing
concurrent reads, except when writes are being performed by other threads, in which case writes block all reads;
if false, configures lock-free reads; allows concurrent non-blocking reads, even if writes are being performed
by other threadspublic boolean add(CharSequence document)
CharSequence document to the solver.document - The CharSequence to add to the solverpublic CharSequence getLongestCommonSubstring()
Copyright © 2016. All rights reserved.