在jade中定义一个新的ObjectSchema

时间:2013-02-05 10:06:45

标签: java schema message agents-jade

我正在与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);

其中**必须定义了ObjectSchema-of-an-arrayList **,所以我可以在代码中使用它。因此,我必须为ArrayList创建ObjectSchema

我已经搜索了几个小时的问题,但没有找到任何解决方案。有人能帮助我吗?

此致 汉斯

1 个答案:

答案 0 :(得分:0)

您是否可以在邮件中发送对象?您可以将ArrayList作为Object传递,然后接收器可以将其转换回ArrayList以供使用。只是提出一个想法,因为我不能流利的玉(我前一段时间使用过梅森)。