java在jade中定义新的ObjectSchema
我和jade一起工作,有一些代理相互communicate合作。我可以设计新的消息类型,比如bookinfo(String name, float prize, boolean availible)
。但我只能使用以下基本变量创建消息,如本例所示:
ConceptSchema cs = (ConceptSchema) getSchema(BOOKINFO);
cs.add(NAME, (PrimitiveSchema) getSchema(BasicOntology.STRING), ObjectSchema.MANDATORY);
cs.add(PRIZE, (PrimitiveSchema) getSchema(BasicOntology.FLOAT), ObjectSchema.MANDATORY);
cs.add(AVAILIBLE, (PrimitiveSchema) getSchema(BasicOntology.BOOLEAN), ObjectSchema.MANDATORY);
这就是我在Ontology中定义消息的方式
但是现在我想发送一个ArrayList
(例如bookinfo(String name, float prize, arrayList authers)
)
我想要的是:
ConceptSchema cs = (ConceptSchema) getSchema(BOOKINFO);
cs.add(NAME, (PrimitiveSchema) getSchema(BasicOntology.STRING), ObjectSchema.MANDATORY);
cs.add(PRIZE, (PrimitiveSchema) getSchema(BasicOntology.FLOAT), ObjectSchema.MANDATORY);
cs.add(AUTHERS, **ObjectSchema-of-an-arrayList**, ObjectSchema.MANDATORY);
其中必须定义arrayList**的**ObjectSchema,以便在代码中使用它。所以我必须为ArrayList
创建一个ObjectSchema
我花了几个小时寻找这个问题,但没有找到任何解决方案。有人能帮我吗
问候 汉斯
# 1 楼答案
你能在消息中发送一个对象吗?您可以将ArrayList作为对象传递,然后接收方可以将其投射回ArrayList以供使用。我只是想提个想法,因为我对翡翠不太流利(我以前用过梅森)