/**
* 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 colloid.model.event.Combat.EventHandler;
public class Effect implements Combat.Effect {
protected String logdata;
protected String name;
public Effect(String logdata) throws DoesNotExist {
this.logdata = logdata;
compile();
}
public Effect(CombatEvent event) throws DoesNotExist {
this.logdata = event.getLogdata();
compile();
}
@Override
public void compile() throws DoesNotExist {
try {
String[] items = logdata.substring(1).split("\\]\\s\\[");
if (items[4] == null) {
throw new DoesNotExist();
}
name = items[4].trim();
} catch (StringIndexOutOfBoundsException ex) {
throw new DoesNotExist();
} catch (ArrayIndexOutOfBoundsException ex) {
throw new DoesNotExist();
}
}
@Override
public void setOnHeal(EventHandler<CombatHealEvent> handler) {
// TODO Auto-generated method stub
}
@Override
public void setOnDamage(EventHandler<CombatDamageEvent> handler) {
// TODO Auto-generated method stub
}
@Override
public void setOnCombatEnter(EventHandler<CombatEnterEvent> handler) {
// TODO Auto-generated method stub
}
@Override
public void setOnCombatExit(EventHandler<CombatExitEvent> handler) {
// TODO Auto-generated method stub
}
public String getLogdata() {
return logdata;
}
public String getName() {
return name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
Effect other = (Effect) obj;
if (name == null) {
if (other.name != null) {
return false;
}
} else if (!name.equals(other.name)) {
return false;
}
return true;
}
}