public boolean removeInput(Operator input) { String inName = input.getAttribute("id"); // get the name if input to remove from this if (inName == null || inName.isEmpty()) { // no name of input to remove System.out.println("Input node has no id"); // warn return false; // no valid input name to remove, abort } String inputString = this.getAttribute("input"); // get string listing input names for this ArrayList<String> ins; // declare an array list if (inputString == null || inputString.isEmpty()) { // empty list to remove from return false; // nothing to remove, abort } else { // input string is not empty // split input string at spaces and make new array list ins = new ArrayList<String>(Arrays.asList(this.getAttribute("input").split(" "))); } if (!ins.contains(inName)) { // input is not present to be removed return false; // no input to remove, abort } else { // remove the input ins.remove(inName); // remove the desired input. // rebuild input string String allIns = ""; // empty string to hold list of inputs for (String s : ins) { // iterate over inputs allIns += s + " "; // append input name to string with space } allIns = allIns.trim(); // remove trailing space this.setAttribute("input", allIns); // set intput attribute to this string of inputs return true; // success! return true } }
public boolean addInput(Operator input) { String inName = input.getAttribute("id"); // get the id of input to add if (inName == null || inName.isEmpty()) { // make sure input has a valid name System.out.println("Input node has no id"); // no valid name, print warning and abort return false; } String inputString = this.getAttribute("input"); // get the input string for this op ArrayList<String> ins; // delcare an array list if (inputString == null || inputString.isEmpty()) { // if the input string is empty ins = new ArrayList<String>(); // make an empty array list } else { // input string is not empty // split input into ArrayList at spaces ins = new ArrayList<String>(Arrays.asList(this.getAttribute("input").split(" "))); } if (ins.contains(inName)) { // check if input is already present return false; // input already present, abort } else { // input is not yet present ins.add(inName); // add input to array list String allIns = ""; // empty string to hold list of inputs for (String s : ins) { // iterate over inputs allIns += s + " "; // append input name to string with space } allIns = allIns.trim(); // remove trailing space this.setAttribute("input", allIns); // set intput attribute to this string of inputs return true; // success! return true } }