Привязка к карте - PullRequest
       6

Привязка к карте

0 голосов
/ 14 декабря 2018

У меня есть правило maxNumConsecutiveCubicCustomersPerLocation как таковое:

Customer(..., $location: location, $consecAndWaitingMap: consecAndWaitingMap)

, и все, что я хочу сделать, - это получить entry из $consecAndWaitingMap с ключом $location (который является типом enum).

В части then правила я могу легко напечатать запись как System.out.println($location+": "+$consecAndWaitingMap.get($location));, но я не могу связать ее:

$consec: $consecAndWaitingMap.get($location)

Ошибка времени компиляции:

Unable to resolve ObjectType '$consecAndWaitingMap.get'

Я импортировал все необходимые классы (import java.util.Map; import ...Customer;), чтобы не было проблем.Другие обходные пути, такие как исправление $location или доступ по [], или сначала привязка к Customer, а затем извлечение моей карты с помощью consecAndWaitingMap: HashMap() from $customer.getConsecAndWaitingMap(), дают аналогичные ошибки.

Как я могу привязаться к $consecAndWaitingMap.get($location)?Если это невозможно, есть идеи для обхода?

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете связать свою запись в той же строке, что и другие переменные.Следующий код должен работать:

Customer(..., $location: location, $consecAndWaitingMap: consecAndWaitingMap, $mapEntry : consecAndWaitingMap.get(location))

Обратите внимание, что вы не можете использовать другие переменные при связывании новой, вам нужно использовать фактическое поле "location".(замена "location" на "$ location" приведет к ошибке)

...