echo.py

来自「Java Communicating Agents是一个用于开发网络反应式信息a」· Python 代码 · 共 42 行

PY
42
字号
import javaimport jacommafrom jacomma.platform.core import Agent, MessagePatternfrom jacomma.icm.type import Symbol## a print handlerclass print_handler( Agent.MessageHandler ):	def onMessage( self, ag, msg ):		print msgdef register_print_handler( agent ) :	agent.registerHandler( MessagePattern.anyPattern(), print_handler() )class echo_handler( Agent.MessageHandler ):	def onMessage( self, ag, msg ):		print msg		ag.send( msg.replyto(), msg.getContent() )def register_echo_handler( agent ) :	agent.registerHandler( MessagePattern.anyPattern(), echo_handler() )## a handler that displays framesclass frame_handler( Agent.MessageHandler ):	def onMessage( self, ag, msg ):		msg.getContent().get( 1 ).show()## The pattern test objectclass frame_test( java.lang.Object ) :	def equals( self, msg ) :		l = msg.getContent()		return java.util.List.isInstance( l ) \			   and l.size() == 2 \			   and l.get( 0 ).equals( Symbol( "show" ) ) \			   and java.awt.Frame.isInstance( l.get( 1 ) )	def make_frame_pattern() :	return MessagePattern.createPattern( java.util.List, frame_test() )def register_frame_handler( agent ) :	agent.registerHandler( make_frame_pattern(), frame_handler() )

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?