package core;
import java.util.LinkedHashMap;
import java.util.Map.Entry;
import entity.DNDEntity;
public class SearchThread implements Runnable{
private Thread SearchThread;
private String threadName;
private LinkedHashMap<String, DNDEntity> input;
private String searchString;
SearchThread(String name){
threadName = name;
//System.out.println("Creating " + threadName );
}
public void start(LinkedHashMap<String, DNDEntity> input, String searchString) {
//System.out.println("Starting " + threadName );
if (SearchThread == null)
{
this.input = input;
this.searchString = searchString.toLowerCase();
SearchThread = new Thread (this, threadName);
SearchThread.start();
}
}
@Override
public void run() {
for (Entry<String, DNDEntity> entry : input.entrySet()){
try {
entry.getValue().search(this.searchString, this.SearchThread);
} catch (InterruptedException e) {
System.out.println(this.threadName + " failed!");
}
}
//System.out.println("Ending " + threadName );
}
public Thread getSearchThread() {
return SearchThread;
}
public void setSearchThread(Thread searchThread) {
SearchThread = searchThread;
}
public String getThreadName() {
return threadName;
}
public void setThreadName(String threadName) {
this.threadName = threadName;
}
public LinkedHashMap<String, DNDEntity> getInput() {
return input;
}
public void setInput(LinkedHashMap<String, DNDEntity> input) {
this.input = input;
}
public String getSearchString() {
return searchString;
}
public void setSearchString(String searchString) {
this.searchString = searchString;
}
}