/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: TriggerContext.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.engine;
import java.util.HashMap;
import java.util.Map;
class TriggerContext
{
private String mDeclarationName = null;
private int mType = -1;
private String mTriggerName = null;
private String[] mTriggerValues = null;
private Map<String, String[]> mParameters = null;
static final int TRIGGER_CHILD = 1;
static final int TRIGGER_EXIT = 2;
TriggerContext()
{
mParameters = new HashMap<String, String[]>();
mTriggerName = "";
mTriggerValues = new String[0];
}
TriggerContext(String declarationName, int type)
{
this();
mDeclarationName = declarationName;
mType = type;
}
static TriggerContext generateChildTrigger(ElementInfo elementInfo, String name, String[] values, Map<String, String[]> inputs)
{
TriggerContext trigger_context = new TriggerContext(elementInfo.getDeclarationName(), TRIGGER_CHILD);
trigger_context.setTriggerName(name);
trigger_context.setTriggerValues(values);
trigger_context.setParameters(inputs);
return trigger_context;
}
static TriggerContext generateExitTrigger(ElementInfo elementInfo, String name, Map<String, String[]> inputs)
{
TriggerContext trigger_context = new TriggerContext(elementInfo.getDeclarationName(), TRIGGER_EXIT);
trigger_context.setTriggerName(name);
trigger_context.setParameters(inputs);
return trigger_context;
}
void setDeclarationName(String declarationName)
{
mDeclarationName = declarationName;
}
String getDeclarationName()
{
return mDeclarationName;
}
void setType(int type)
{
mType = type;
}
int getType()
{
return mType;
}
void setTriggerName(String triggerName)
{
mTriggerName = triggerName;
}
String getTriggerName()
{
return mTriggerName;
}
void setTriggerValues(String[] triggerValues)
{
mTriggerValues = triggerValues;
}
String[] getTriggerValues()
{
return mTriggerValues;
}
void setParameters(Map<String, String[]> parameters)
{
mParameters = parameters;
}
Map<String, String[]> getParameters()
{
return mParameters;
}
String[] getParameterValues()
{
if (0 == mParameters.size())
{
return null;
}
else
{
return mParameters.values().iterator().next();
}
}
}