2014-09-07 3 views
0

У меня есть JSONDeserializer так:Как использовать flexjson TypeLocator исключение исключения по отсутствующему значению?

if (json != null) 
    { 
     response = new JSONDeserializer<EnvelopeBuilder>().use(null, EnvelopeBuilder.class) 
     // Target 
       .use("header.targetIdentifier", EnvelopeJsonCodec.locator) 
       // Source 
       .use("header.sourceIdentifier", EnvelopeJsonCodec.locator) 
       // Do it 
       .deserialize(json); 

     EnvelopeJsonCodec.logger.debug(new StringBuffer("Builder: ").append(response).toString()); 
    } 

и опирается на тип локатора как этот:

private static final TypeLocator<String> locator = new TypeLocator<String>("msg-type") 
// Request/Response 
     .add("TARGETED_MESSAGE", ServiceIdentifier.class) 
     // Publish/Subscribe 
     .add("PUBLISH", PublishChannel.class); 

Но я понимаю, что так как клиенты не обязательно под моим контролем, они могут typo msg-type, и я получу нулевой объект впоследствии.

Я могу проверить для нулевого объекта позже, но для тех, кто идет позади меня, не будет очевидно, что причина, по которой объект имеет значение null, состоит в том, что msg-type был неправильным.

Как я могу заставить TypeLocator генерировать исключение, если тип msg не подходит?

ответ

0

В конечном счете, я контролировал ошибочные записи через более строгую схему.

 Смежные вопросы

  • Нет связанных вопросов^_^