23 package com.realtime.crossfire.jxclient.scripts;
34 import java.io.IOException;
35 import java.util.Collection;
36 import java.util.HashSet;
38 import java.util.concurrent.CopyOnWriteArraySet;
39 import java.util.stream.Collectors;
40 import org.jetbrains.annotations.NotNull;
100 private final Collection<ScriptProcess>
scriptProcesses =
new CopyOnWriteArraySet<>();
137 }
catch (
final IOException ex) {
145 if (result ==
null) {
152 new Thread(scriptProcess,
"JXClient:ScriptProcess:"+scriptProcess).start();
163 public Set<ScriptProcess>
getScripts(@NotNull
final String partialScriptName) {
166 }
catch (
final NumberFormatException ignored) {
178 final Set<ScriptProcess> result =
new HashSet<>();
180 if (scriptProcess.getScriptId() == scriptId) {
181 result.add(scriptProcess);
195 private Set<ScriptProcess>
getScriptsByName(@NotNull
final CharSequence partialScriptName) {
196 return scriptProcesses.stream().filter(scriptProcess -> scriptProcess.getFilename().contains(partialScriptName)).collect(Collectors.toSet());