Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2016, 03:57   #1
Maks88
Пользователь
 
Регистрация: 28.12.2015
Сообщений: 26
Вопрос Аннотации в Java EE

Всем привет!

Знакомлюсь с аннотациями в Java EE. При тестировании простой программы не выводится в консоль то что должно быть вывединно при удачном тесте, в EmailValidator, в чем можеть быть проблема ? Буду рад вариантам нового кода/исправленного кода!

Код:
public class User {

    public static String getUserName() {
        return userName;
    }

    public static String getPassword() {
        return password;
    }

    public static String getEmail() {
        return email;
    }

    public User(String userName, String password, String email) {

        setUserName(userName);
        setEmail(email);
        setPassword(password);
    }

    private static void setUserName(String userName) {
        User.userName = userName;
    }

    private static void setPassword(String password) {
        User.password = password;
    }

    private static void setEmail(String email) {
        User.email = email;
    }

    private static String userName;
    private static String password;

    @EmailValidation
    private static String email;

}
Код:
public class ApplTest {



    public static void main(String [] string){

        User user = new User("Aleksey","13224","Aleksey.Alekseev88@gmail.com");

        System.out.print("I am in the main");

    }


}
Код:
@Constraint(validatedBy = {EmailValidation.EmailValidator.class})
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface EmailValidation {

    String regularExpression() default "^[_A-Za-z0-9-\\\\+]+(\\\\.[_A-Za-z0-9-]+)*@\"\n" +
            "\t\t+ \"[A-Za-z0-9-]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$";
    String message() default "Wrong input";


  class EmailValidator implements ConstraintValidator<EmailValidation,User>{

     private static String regEX;
     private static String message;
     private static String emailField;

     public void initialize(EmailValidation email) {

         regEX = email.regularExpression();
         message = email.message();
         emailField = User.getEmail();
     }

     public boolean isValid(User user, ConstraintValidatorContext constraintValidatorContext) {
         return emailValidation(user);
     }

     private boolean emailValidation(User user){

            if(!(emailField.matches(regEX))){

                System.out.print("Checking");

                System.out.print(message);
                return false;

            }


         System.out.print("AllMatches");

         return true;
     }


    }

Последний раз редактировалось Alex11223; 01.10.2016 в 10:19.
Maks88 вне форума Ответить с цитированием
Старый 01.10.2016, 10:19   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так вы только добавили аннотацию, но вроде бы не используете это никак (и за вас в данном случае никто это не делает).

Например с помощью рефлексии как-нибудь. getDeclaredFields, getAnnotations и т.п.

И аннотации это не обязательно ЕЕ.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.10.2016, 06:26   #3
Maks88
Пользователь
 
Регистрация: 28.12.2015
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так вы только добавили аннотацию, но вроде бы не используете это никак (и за вас в данном случае никто это не делает).

Например с помощью рефлексии как-нибудь. getDeclaredFields, getAnnotations и т.п.

И аннотации это не обязательно ЕЕ.
Спасибо, добавил валидатор хибернета!
Maks88 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59
Проблема с нововведениями в Java 1.6 (аннотации) lexluther Общие вопросы по Java, Java SE, Kotlin 1 02.12.2008 10:02