/*********************************************************************/
/* */
/* AgentService Framework */
/* www.agentservice.it */
/* */
/* Copyright (C) 2007 l.i.d.o. - DIST, University of Genoa, Italy */
/* GNU Lesser General Public License */
/* */
/* This library is free software; you can redistribute it and/or */
/* modify it under the terms of the GNU Lesser General Public */
/* License as published by the Free Software Foundation, */
/* version 2.1 of the License. */
/* */
/* This library is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
/* Lesser General Public License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public */
/* License along with this library; if not, write to the */
/* Free Software Foundation, Inc., 59 Temple Place - Suite 330, */
/* Boston, MA 02111-1307, USA. */
/* */
/*********************************************************************/
using System.Collections;
using System;
using AgentService.Ontology.Interfaces;
namespace AgentService.Ontology.SL0 {
///
/// This class implements the result operator of the FIPA SL0 action.
///
[Serializable]
public class Result : AgentService.Ontology.Interfaces.Predicate {
private Concept action;
private object val;
///
/// Constructs a result operator.
///
public Result()
{
action = null;
val = null;
}
///
/// Constructs a result operator with given action and value attributes.
///
/// The action attribute.
/// The value attribute.
public Result(Concept a, object v)
{
Action=a;
Value=v;
}
///
/// The action attribute of the result operator.
///
public Concept Action
{
set
{
this.action=value;
}
get
{
return this.action;
}
}
///
/// The action attribute of the result operator.
///
public object Value
{
set
{
this.val=value;
}
get
{
return this.val;
}
}
///
/// Gets an ArrayList that Contains items of the value attribute.
///
///
public ArrayList getItems()
{
try
{
if (Value is ArrayList)
{
return (ArrayList) this.val;
}
else
{
ArrayList l = new ArrayList(1);
if (this.val != null)
{
l.Add(this.val);
}
return l;
}
}
catch(OntologyException ex)
{
throw(ex);
}
}
///
/// Sets the value attribute with an ArrayList object.
///
/// The ArrayList object
public void setItems(ArrayList l)
{
Value = l;
}
}
}