См. Ниже, почему в графическом интерфейсе пользователя не отображается список требований в свойстве агента (внизу слева)?
В графическом интерфейсе не отображаются атрибуты агента.
Ответы (1)
Без некоторых дополнительных аннотаций механизм проверки Repast не отображает непримитивные + String типы. Вы можете сделать одно из двух
создать методы получения / установки, которые возвращают ваш список в виде строки и принимают строку в качестве параметра соответственно. Последний будет анализировать String и обновлять список проанализированными значениями.
Используйте аннотацию @ProbedProperty и укажите преобразователь String для преобразования из списка в String. Например,
@ProbedProperty(usageName="list", displayName="A List", converter="repast.simphony.parameter.StringConverterFactory$StringStringConverter") public List<Integer> getList() { return Arrays.asList(1, 2, 3, 4); }
Здесь я использую StringConverterFactory$StringStringConverter
для преобразования. Это отлично работает только для геттера, но не работает для сеттера. Если у вас есть сеттер, вам нужно будет написать собственную реализацию StringConverter.
Наконец, если вы используете аннотацию ProbedProperty, вам может потребоваться добавить ее для других свойств, которые вы хотите показать. Для примитивов преобразователь можно не указывать. Я думаю, что наличие ProbedProperty означает «не отображать все свойства, а только те, которые я аннотировал».