/*********************************************************************/ /* */ /* 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; } } } }