/**
*
*/
package org.drools.integrationtests.eventgenerator.example;
import java.util.HashMap;
import java.util.Map;
import org.drools.integrationtests.eventgenerator.Event;
/**
* @author Matthias Groch
*
*/
public class StatusChangedEvent extends Event {
public static final String[] PROPERTY_FIELD_NAMES = {"OldValue", "NewValue"};
public static final int OLD_VALUE = 0;
public static final int NEW_VALUE = 1;
/**
* Special constructor for a statusChanged event
* @param parentId The id of the corresponding site, resource, ...
*/
public StatusChangedEvent(String parentId, int oldValue, int newValue) {
super(EventType.STATUSCHANGED, parentId);
addParameters(createStatusChangedParameters(oldValue, newValue));
}
/**
* Special constructor for a statusChanged event
* @param parentId The id of the corresponding site, resource, ...
* @param start The start instance of the event.
* @param end The end instance of the event.
* @param parameters The event parameters.
*/
public StatusChangedEvent(String parentId, long start, long end) {
super(EventType.STATUSCHANGED, parentId, start, end);
}
/**
* Special constructor for a statusChanged event
* @param parentId The id of the corresponding site, resource, ...
* @param start The start instance of the event.
* @param end The end instance of the event.
* @param parameters The event parameters.
*/
public StatusChangedEvent(String parentId, int oldValue, int newValue, long start, long end) {
super(EventType.STATUSCHANGED, parentId, start, end);
addParameters(createStatusChangedParameters(oldValue, newValue));
}
private static Map<String, String> createStatusChangedParameters(int oldValue, int newValue){
Map<String, String> params = new HashMap<String, String>();
params.put(PROPERTY_FIELD_NAMES[OLD_VALUE], String.valueOf(oldValue));
params.put(PROPERTY_FIELD_NAMES[NEW_VALUE], String.valueOf(newValue));
return params;
}
/**
* @return value of the oldValue parameter if such a parameter exists, null otherwise
*/
public String getParamOldValue() {
if (this.getParameters().containsKey(PROPERTY_FIELD_NAMES[OLD_VALUE]))
return this.getParamValue(PROPERTY_FIELD_NAMES[OLD_VALUE]);
return null;
}
/**
* @return value of the newValue parameter if such a parameter exists, null otherwise
*/
public String getParamNewValue() {
if (this.getParameters().containsKey(PROPERTY_FIELD_NAMES[NEW_VALUE]))
return this.getParamValue(PROPERTY_FIELD_NAMES[NEW_VALUE]);
return null;
}
}