/* Author: Jeff Dalton * Updated: Mon Apr 23 23:52:04 2001 by Jeff Dalton * Copyright: (c) 2000, AIAI, University of Edinburgh */ package ix.icore.domain; import java.util.*; import ix.util.*; import ix.util.lisp.*; import ix.util.match.*; // In theory, the product schema could be defined for a pattern, // rather than just a name, and then could be looked up by matching // and instantiated, so that a product schema could define more // than one actual product. /** * A description of a process product. */ public class ProductSchema implements ProductSchemaSymbols { public Object name; public ProductSchema(LList def) { for (LList slots = def; slots != Lisp.NIL; slots = slots.cdr()) { Cons slot = (Cons)slots.car(); Symbol name = (Symbol)slot.car(); Object value = slot.cdr(); if (name == K_NAME) this.name = ((LList)value).car(); else Debug.warn("Illegal product schema slot:" + slot); } } }