|
Magentix2
2.1.1
|


Public Member Functions | |
| int | getMinArgs () |
| int | getMaxArgs () |
| void | checkArguments (Term[] args) throws JasonException |
| Object | execute (TransitionSystem ts, Unifier un, Term[] args) throws Exception |
This class represents the internal action for adding a number of years, months and days to a date defined bye the set year, month, day
Definition at line 17 of file ia_add_to_date.java.
| void jason.stdlib.ia_add_to_date.checkArguments | ( | Term[] | args | ) | throws JasonException |
Definition at line 28 of file ia_add_to_date.java.
{
super.checkArguments(args);
boolean result = true;
int cont=0;
while (result && (cont<9)) {
result = (((Term)args[cont]).isNumeric());
cont++;
}
if (!result)
{
throw JasonException.createWrongArgument(this,"Parameters must be in correct format.");
}
}
| Object jason.stdlib.ia_add_to_date.execute | ( | TransitionSystem | ts, |
| Unifier | un, | ||
| Term[] | args | ||
| ) | throws Exception |
Definition at line 50 of file ia_add_to_date.java.
{
// execute the internal action
ts.getAg().getLogger().fine("executing internal action 'jason.stdlib.ia_add_to_date'");
int year = getTermAsInt(args[0]);
int month = getTermAsInt(args[1]);
int day = getTermAsInt(args[2]);
int addy = getTermAsInt(args[3]);
int addm = getTermAsInt(args[4]);
int addd = getTermAsInt(args[5]);
//SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.set(year, month-1, day);
c.add(Calendar.YEAR, addy);
c.add(Calendar.MONTH, addm);
c.add(Calendar.DAY_OF_YEAR, addd);
NumberTermImpl resulty = new NumberTermImpl(c.get(Calendar.YEAR));
NumberTermImpl resultm = new NumberTermImpl(c.get(Calendar.MONTH)+1);
NumberTermImpl resultd = new NumberTermImpl(c.get(Calendar.DAY_OF_MONTH));
boolean result = ((un.unifies(resulty, args[6]))&&(un.unifies(resultm, args[7]))&&(un.unifies(resultd, args[8])));
/*if (true) { // just to show how to throw another kind of exception
throw new JasonException("not implemented!");
}*/
// everything ok, so returns true
return result;
}
Definition at line 25 of file ia_add_to_date.java.
{ return 9; };
Definition at line 24 of file ia_add_to_date.java.
{ return 9; };