2015-04-09 2 views
2

Я пытаюсь проверить поле json, которое внутренне сопоставляется с ENUM businessType внутри службы. Я не могу писать логику в SPEL утверждать, что business_type JSON поле один из businessType ПеречисленияENUM валидация весенний язык выражения

Я попытался с помощью instanceof, но он проверяет только если вход является «экземпляром» класса BusinessDetails, не то, что если один из перечисления в BusinessDetails.BusinessType

<property name="isValid" value="(#element.businessType instanceof (com.paypal.platform.ops.model.BusinessDetails$BusinessType))" />

Пожалуйста, предложите, как я могу подтвердить ввод, чтобы быть один из определенных типов ENUM. Спасибо за ваш вклад!

+0

Можете ли вы предоставить какой-то образец кода вашего объекта enum и json? –

ответ

0

Вы можете использовать Collection Selection фильтровать список из BusinessType.values() в соответствии с вашими #element.businessType:

T(com.paypal.platform.ops.model.BusinessDetails$BusinessType).values().?[name()==#element.businessType].length==1 

Если отфильтрованный массив не пуст, то ваш #element.businessType должен быть действительным, в противном случае массив будет пустым.