java regular expression returning false
===

I am newbie to java regular expression. I wrote following code for validating the non digit number. If we enter any non digit number it should return false. for me the below code always return false. whats the wrong here?  

  package regularexpression;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class NumberValidator {
    
    	private static final String NUMBER_PATTERN = "\\d";
    	Pattern pattern;
    
    	public NumberValidator() {
    		pattern = Pattern.compile(NUMBER_PATTERN);
    	}
    	
    	public boolean validate(String line){
    		Matcher matcher = pattern.matcher(line);
    		return matcher.matches();
    	}
    
    	public static void main(String[] args) {
    
    		NumberValidator validator = new NumberValidator();
    		
    		boolean validate = validator.validate("123");
    		
    		System.out.println("validate:: "+validate);
    	}
    
    }

