0

我正在与合作,并有一些相互通信的代理。我可以设计新的消息类型,例如 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);

这就是我在本体中定义消息的方式

但现在我想发送一个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.

我已经搜索了几个小时来解决这个问题,但没有找到任何解决方案。有谁能够帮我?

问候汉斯

4

1 回答 1

0

你能在消息中发送一个对象吗?您可以将 ArrayList 作为对象传递,然后接收者可以将其转换回 ArrayList 以供使用。只是给出一个想法,因为我不精通玉石(我以前用过石匠)。

于 2013-12-06T12:00:03.373 回答