001 /** 002 * planningtool - A Planning Tool with Critiquing Support. 003 * 004 * Copyright (C) 2006 olale 005 006 * This program is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU General Public License 008 * as published by the Free Software Foundation; either version 2 009 * of the License, or (at your option) any later version. 010 011 * This program is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 014 * GNU General Public License for more details. 015 016 * You should have received a copy of the GNU General Public License 017 * along with this program; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 019 020 * Contact information: 021 * E-mail: olale@ida.liu.se 022 * olale@lysator.liu.se 023 */ 024 package se.liu.ida.critiquer.resources; 025 026 import java.awt.Component; 027 028 import se.liu.ida.critiquer.scenarios.standard.AgentParameterName; 029 030 public interface ParameterInAgent<T> { 031 /** 032 * 033 * The type of parameter determines whether or not it will be visible in the interface 034 * 035 * @author olale 036 * 037 */ 038 public enum Type { 039 /** 040 * External parameters are editable by the user 041 */ 042 EXTERNAL, 043 /** 044 * Internal parameters are only accessible to program components 045 */ 046 INTERNAL 047 } 048 public Type getType(); 049 public void setType(Type type); 050 public Component getComponent(); 051 public AgentParameterName getName(); 052 public T getValue(); 053 054 }