@Test public void cascadingParameterMetaData() throws Exception { Method method = CustomerRepository.class.getMethod("saveCustomer", Customer.class); ExecutableMetaData methodMetaData = beanMetaData.getMetaDataFor(ExecutableElement.forMethod(method)); ParameterMetaData parameterMetaData = methodMetaData.getParameterMetaData(0); assertTrue(parameterMetaData.isCascading()); assertTrue(parameterMetaData.isConstrained()); assertEquals(parameterMetaData.getIndex(), 0); assertEquals(parameterMetaData.getName(), "arg0"); assertThat(parameterMetaData).isEmpty(); }
@Test public void constrainedParameterMetaData() throws Exception { Method method = CustomerRepository.class.getMethod("createCustomer", CharSequence.class, String.class); ExecutableMetaData methodMetaData = beanMetaData.getMetaDataFor(ExecutableElement.forMethod(method)); ParameterMetaData parameterMetaData = methodMetaData.getParameterMetaData(1); assertFalse(parameterMetaData.isCascading()); assertTrue(parameterMetaData.isConstrained()); assertEquals(parameterMetaData.getIndex(), 1); assertEquals(parameterMetaData.getName(), "arg1"); assertThat(parameterMetaData).hasSize(1); assertEquals( parameterMetaData.iterator().next().getDescriptor().getAnnotation().annotationType(), NotNull.class); }