public MeioMaskField( String id, MaskType mask, String options, IModel<T> model, boolean valueContainsLiteralCharacters, Class<T> type) { super(id, model, type); this.maskType = mask; LOGGER.debug("Initializing maskfield with id {} ...", id); LOGGER.debug(" Mask name: {}, mask: {}", mask.getMaskName(), mask.getMask()); LOGGER.debug(" Options: {}", options); LOGGER.debug(" Type: {}", type); LOGGER.debug(" ValueContainsLiteralCharacters: {}", valueContainsLiteralCharacters); try { maskFormatter.setMask(mask.getMask()); maskFormatter.setValueClass(String.class); maskFormatter.setAllowsInvalid(true); maskFormatter.setValueContainsLiteralCharacters(valueContainsLiteralCharacters); } catch (ParseException parseException) { throw new WicketRuntimeException(parseException); } add(new MeioMaskBehavior(mask, options)); setOutputMarkupId(true); LOGGER.debug("Maskfield {} initialized.", id); }