/*********************************************************************/
/* */
/* 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;
using System.Collections;
using AgentService.Ontology.Schema;
namespace AgentService.Ontology
{
///
/// This class provides the description of a slot.
///
public class SlotDescriptor: EntityDescriptor
{
private ArrayList facets=new ArrayList();
///
/// Constructs a generic slot.
///
public SlotDescriptor(): base()
{
}
///
/// Constructs a slot.
///
/// The name of the slot.
/// The type of the slot.
/// The schema of the slot.
/// The schema of the entity that has the slot.
public SlotDescriptor(string typeName, Type type, ObjectSchema SlotSchema, ObjectSchema schema): base(typeName, type, SlotSchema)
{
if(schema.GetFacets(typeName)!=null)
{
Facet[] facets = schema.GetFacets(typeName);
foreach(Facet f in facets)
{
this.facets.Add(f);
}
}
}
public ArrayList Facets
{
get
{
return facets;
}
set
{
this.facets = value;
}
}
}
}