/** * Colloid project * * Combat log analyzer. * * copyright: (c) 2013 by Darek <netmik12 [AT] gmail [DOT] com> * license: BSD, see LICENSE for more details */ package colloid.model.event; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CombatThreatEvent extends CombatEvent { private static final long serialVersionUID = 3113199908870845807L; static final Pattern pattern = Pattern.compile(".*\\<(\\d+)(.*)"); public CombatThreatEvent(Object source, String logdata) { super(source, logdata); } public static double parseValue(String logdata) { double result = 0; String[] data = logdata.substring(1).split("\\]\\s\\["); try { Matcher matcher = pattern.matcher(data[4].trim()); if (matcher.matches()) { String firstGroup = matcher.group(1); result = Double.parseDouble(firstGroup); } } catch (NumberFormatException ex) { System.out.println(ex); } catch (IllegalStateException ex) { System.out.println(ex); } return result; } @Override public double getValue() { if (Double.isNaN(value) || value == 0) { value = parseValue(logdata); } return value; } }