@Test @SpecAssertion(section = Sections.CONSTRAINTMETADATA_ELEMENTDESCRIPTOR, id = "a") public void testGetElementClass() { Validator validator = getValidatorUnderTest(); BeanDescriptor beanDescriptor = validator.getConstraintsForClass( SuperClass.class ); assertEquals( beanDescriptor.getElementClass(), SuperClass.class, "Wrong element class" ); ElementDescriptor elementDescriptor = beanDescriptor.getConstraintsForProperty( "myField" ); assertEquals( elementDescriptor.getElementClass(), String.class, "Wrong element class" ); }
@Test @SpecAssertion(section = "5.2", id = "a") public void testGetElementClass() { Validator validator = getValidatorUnderTest(); BeanDescriptor beanDescriptor = validator.getConstraintsForClass( SuperClass.class ); assertEquals( beanDescriptor.getElementClass(), SuperClass.class, "Wrong element class" ); ElementDescriptor elementDescriptor = beanDescriptor.getConstraintsForProperty( "myField" ); assertEquals( elementDescriptor.getElementClass(), String.class, "Wrong element class" ); }
@Override public void handleProperty(String name) { final ElementDescriptor element = current.element(); final BeanD<?> bean; if (element instanceof BeanD<?>) { bean = (BeanD<?>) element; } else { bean = (BeanD<?>) validatorContext.getDescriptorManager().getBeanDescriptor(element.getElementClass()); } final PropertyDescriptor property = bean.getProperty(name); if (property == null) { Exceptions.raise(IllegalArgumentException::new, "Unknown property %s of %s", name, bean.getElementClass()); } current = new DescriptorWrapper(property); }
@Override public void handleProperty(String name) { final ElementDescriptor element = current.element(); final BeanD<?> bean; if (element instanceof BeanD<?>) { bean = (BeanD<?>) element; } else { bean = (BeanD<?>) validatorContext.getDescriptorManager().getBeanDescriptor(element.getElementClass()); } final PropertyDescriptor property = bean.getProperty(name); if (property == null) { Exceptions.raise(IllegalArgumentException::new, "Unknown property %s of %s", name, bean.getElementClass()); } current = new DescriptorWrapper(property); }