indexing
	namespace: "candidate"
	pattern: "Command"
	description: "This class provides a generic base-class for functional %
	% objects that can be called with one argument."
	original_author: "Justin Finnerty"
	original_date: "Sept 2005"
	current_date: "$Date: 2005/09/03 10:58:20 $"
	current_author: "$Author: finnerty $"
	revision: "$Revision: 1.1 $"
   -- $Log: agent_arg.e,v $
   -- Revision 1.1  2005/09/03 10:58:20  finnerty
   -- Agent like classes for non-agent systems
   --
deferred class AGENT_ARG [T_ARG,T_RET]
	-- This class provides a generic base-class for functional objects
	-- that can be called with one argument.
	
feature {ANY}
	-- Status Report
	is_callable: BOOLEAN is
			-- Can we use `call'?
		deferred
		end

	is_executable: BOOLEAN is
			-- Can we use `execute'?
		deferred
		end
feature {ANY}
	-- Access
	call (a_arg: T_ARG) is
			-- Execute the command.
		require
			is_callable
		deferred
		end

	execute (a_arg: T_ARG): T_RET is
			-- Execute the command with return value
		require
			is_executable
		deferred
		end
end -- class AGENT_ARG
