/*---------------------------------------------------------------------------------------------------------------- * CupCarbon: A Smart City & IoT Wireless Sensor Network Simulator * www.cupcarbon.com * ---------------------------------------------------------------------------------------------------------------- * Copyright (C) 2013-2017 CupCarbon * ---------------------------------------------------------------------------------------------------------------- * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. *---------------------------------------------------------------------------------------------------------------- * CupCarbon U-One is part of the research project PERSEPTEUR supported by the * French Agence Nationale de la Recherche ANR * under the reference ANR-14-CE24-0017-01. * ---------------------------------------------------------------------------------------------------------------- **/ package cupcarbon_script; /** * @author Ahcene Bounceur * @author Molham Darwish * @version 1.0 */ public abstract class CupCondition { protected CupScript script ; protected String arg1 = ""; protected String arg2 = ""; public CupCondition() {} public abstract boolean evaluate() ; public static String [] getTwoParts(String condition) { condition = condition.replaceAll(" ", ""); int frst = condition.indexOf("("); int last = condition.lastIndexOf(")"); if (frst !=-1 && last !=-1) condition = condition.substring(frst+1,last); String [] tReturn = new String [3]; String[] tCondition = condition.split("<=",2); tReturn[2] = "<="; if(tCondition.length==1) { tCondition = tCondition[0].split(">="); tReturn[2] = ">="; } if(tCondition.length==1) { tCondition = tCondition[0].split("=="); tReturn[2] = "=="; } if(tCondition.length==1) { tCondition = tCondition[0].split("!="); tReturn[2] = "!="; } if(tCondition.length==1) { tCondition = tCondition[0].split(">"); tReturn[2] = ">"; } if(tCondition.length==1) { tCondition = tCondition[0].split("<"); tReturn[2] = "<"; } tReturn[0] = tCondition[0]; tReturn[1] = tCondition[1].equals("\\")?"":tCondition[1]; return tReturn; } @Override public String toString() { return "-"; } }