/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.test.heisenberg.extension.model;
import org.mule.runtime.extension.api.annotation.param.Parameter;
import org.mule.runtime.extension.api.annotation.dsl.xml.XmlHints;
@XmlHints(allowTopLevelDefinition = true)
public class Ricin implements Weapon {
public static final String RICIN_KILL_MESSAGE = "You have been killed with Ricin";
@Parameter
private Long microgramsPerKilo;
@Parameter
private KnockeableDoor destination;
public Ricin(KnockeableDoor destination, Long microgramsPerKilo) {
this.destination = destination;
this.microgramsPerKilo = microgramsPerKilo;
}
public Ricin() {}
public Long getMicrogramsPerKilo() {
return microgramsPerKilo;
}
public void setMicrogramsPerKilo(long microgramsPerKilo) {
this.microgramsPerKilo = microgramsPerKilo;
}
public KnockeableDoor getDestination() {
return destination;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Ricin) {
return microgramsPerKilo.equals(((Ricin) obj).microgramsPerKilo);
}
return false;
}
@Override
public int hashCode() {
return microgramsPerKilo.hashCode();
}
@Override
public String kill() {
return RICIN_KILL_MESSAGE;
}
}