2017-02-16 5 views
1

У меня есть способ запуска проверки моего объекта, но не всегда является одним и тем же объектом класса. Я использую этот блок кода:Чтобы проверить объект, но я не повторяю, могу передать разные объекты одному и тому же методу?

Set<ConstraintViolation<typeClass>> violations = validator.validate(className); 
    for (ConstraintViolation<typeClass> violation : violations) { 
    logger.debug(violation.getMessage()); 
    output = violation.getMessage(); 
} 

, и я хочу использовать его в методе, но Classname и класса типов являются переменными, а затем, если я сделал метод с String, например:

public Response getValidations(String typeClass, String helloString) { 
    //do the validation of the string 
} 

helloString этого имя объект, но тип строки объекта это зависит от первых паров я прохожу к методу.

+0

Гм .. вы ищете способ «проверить на примере» и применять во время компиляции, что и из них одного типа? –

+0

@ М.Прохоров. Я пытаюсь проверить свои классы с помощью проверки бонусов. У каждого класса есть свои собственные проверки, но я хочу использовать один и тот же метод для всех. – Zurquk

+1

Не будет ли '' Validator''' проверять какой-либо класс, поддерживаемый его 'ValidatorFactory'? Нет 'validator.validate (class)', существует 'validator.validate (instance, groups ...)', что вполне достаточно для _do validaton любого объекта_. –

ответ

0

Наконец я нашел ответ, это было так легко, что он разозлил меня -_-

private String makeVerifications(Object instance, Validator validator) { 
    String output = ""; 

    Set<ConstraintViolation<Object>> violations = validator.validate(instance); 
    for (ConstraintViolation<Object> violation : violations) { 
     logger.debug(violation.getMessage()); 
     output += System.getProperty("line.separator") + violation.getMessage(); 
    } 
    return output; 
} 
+0

'нарушений.stream(). Map (ConstraintViolation :: getMessage) .collect (Collectors.joining (System.getProperty (« line.separator »)); –

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