@Override public void process(final ProcessMethodContext processMethodContext) { // namedXxx() attachNamedFacetIfNamedMethodIsFound(processMethodContext); }
public void testInstallsNamedFacetUsingNameMethodAndRemovesMethod() { final NamedFacetViaNameMethodFacetFactory facetFactory = new NamedFacetViaNameMethodFacetFactory(); facetFactory.setSpecificationLookup(reflector); final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders"); final Method nameMethod = findMethod(CustomerStatic.class, "nameOrders"); facetFactory.process(new ProcessMethodContext(CustomerStatic.class, collectionAccessorMethod, methodRemover, facetedMethod)); final Facet facet = facetedMethod.getFacet(NamedFacet.class); assertNotNull(facet); assertTrue(facet instanceof NamedFacetViaMethod); final NamedFacetViaMethod namedFacet = (NamedFacetViaMethod) facet; assertEquals("Most Recent Orders", namedFacet.value()); assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(nameMethod)); }
public static void attachNamedFacetIfNamedMethodIsFound(final ProcessMethodContext processMethodContext) { final Method method = processMethodContext.getMethod(); final String capitalizedName = NameUtils.javaBaseNameStripAccessorPrefixIfRequired(method.getName()); final Class<?> cls = processMethodContext.getCls(); final Method nameMethod = MethodFinderUtils.findMethod(cls, MethodScope.CLASS, MethodPrefixConstants.NAME_PREFIX + capitalizedName, String.class, new Class[0]); if (nameMethod == null) { return; } processMethodContext.removeMethod(nameMethod); final String name = invokeNameMethod(nameMethod); final FacetHolder facetHolder = processMethodContext.getFacetHolder(); FacetUtil.addFacet(new NamedFacetViaMethod(name, nameMethod, facetHolder)); }
public void testInstallsNamedFacetUsingNameMethodAndRemovesMethod() { final NamedFacetViaNameMethodFacetFactory facetFactory = new NamedFacetViaNameMethodFacetFactory(); facetFactory.setSpecificationLookup(reflector); final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName"); final Method nameMethod = findMethod(CustomerStatic.class, "nameFirstName"); facetFactory.process(new ProcessMethodContext(CustomerStatic.class, propertyAccessorMethod, methodRemover, facetedMethod)); final Facet facet = facetedMethod.getFacet(NamedFacet.class); assertNotNull(facet); assertTrue(facet instanceof NamedFacetViaMethod); final NamedFacetViaMethod namedFacet = (NamedFacetViaMethod) facet; assertEquals("Given name", namedFacet.value()); assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(nameMethod)); }
public void testInstallsNamedFacetUsingNameMethodAndRemovesMethod() { final NamedFacetViaNameMethodFacetFactory facetFactory = new NamedFacetViaNameMethodFacetFactory(); facetFactory.setSpecificationLookup(reflector); reflector.setLoadSpecificationStringReturn(voidSpec); final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class }); final Method nameMethod = findMethod(CustomerStatic.class, "nameSomeAction"); facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod)); final Facet facet = facetedMethod.getFacet(NamedFacet.class); assertNotNull(facet); assertTrue(facet instanceof NamedFacetAbstract); final NamedFacetAbstract namedFacetAbstract = (NamedFacetAbstract) facet; assertEquals("Another Name", namedFacetAbstract.value()); assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(nameMethod)); }