@Override public void process(final ProcessMethodContext processMethodContext) { final Class<MemberOrder> annotationClass = MemberOrder.class; final MemberOrder annotation = Annotations.getAnnotation(processMethodContext.getMethod(), annotationClass); FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder())); }
private DescribedAsFacet createFromAnnotationOnReturnTypeIfPossible( final ProcessMethodContext processMethodContext) { final Class<?> returnType = processMethodContext.getMethod().getReturnType(); final DescribedAsFacet returnTypeDescribedAsFacet = getDescribedAsFacet(returnType); return returnTypeDescribedAsFacet != null ? new DescribedAsFacetForMemberDerivedFromType( returnTypeDescribedAsFacet, processMethodContext.getFacetHolder()) : null; }
private static DescribedAsFacet createFromAnnotationIfPossible( final ProcessMethodContext processMethodContext) { // look for annotation on the property final DescribedAs annotation = Annotations.getAnnotation(processMethodContext.getMethod(), DescribedAs.class); return annotation == null ? null : new DescribedAsFacetOnMemberAnnotation( annotation.value(), processMethodContext.getFacetHolder()); }
private MemberOrderFacet createFromAnnotationIfPossible( final ProcessMethodContext processMethodContext) { final MemberOrder annotation = Annotations.getAnnotation(processMethodContext.getMethod(), MemberOrder.class); if (annotation != null) { return new MemberOrderFacetAnnotation( annotation.name(), annotation.sequence(), servicesInjector.lookupService(TranslationService.class), processMethodContext.getFacetHolder()); } else { return null; } }
private void attachDisabledFacetIfDisabledMethodIsFound( final ProcessMethodContext processMethodContext) { final Method method = processMethodContext.getMethod(); final String capitalizedName = StringExtensions.asJavaBaseNameStripAccessorPrefixIfRequired(method.getName()); final Class<?> cls = processMethodContext.getCls(); // search for exact match Method disableMethod = MethodFinderUtils.findMethod( cls, MethodScope.OBJECT, MethodPrefixConstants.DISABLE_PREFIX + capitalizedName, new Class<?>[] {String.class, TranslatableString.class}, method.getParameterTypes()); if (disableMethod == null) { // search for no-arg version disableMethod = MethodFinderUtils.findMethod( cls, MethodScope.OBJECT, MethodPrefixConstants.DISABLE_PREFIX + capitalizedName, new Class<?>[] {String.class, TranslatableString.class}, new Class<?>[0]); } if (disableMethod == null) { return; } processMethodContext.removeMethod(disableMethod); final FacetHolder facetHolder = processMethodContext.getFacetHolder(); final TranslationService translationService = this.servicesInjector.lookupService(TranslationService.class); // sadness: same logic as in I18nFacetFactory final String translationContext = ((IdentifiedHolder) facetHolder).getIdentifier().toClassAndNameIdentityString(); FacetUtil.addFacet( new DisableForContextFacetViaMethod( disableMethod, translationService, translationContext, facetHolder)); }
@Override public void process(final ProcessMethodContext processMethodContext) { final Method getMethod = processMethodContext.getMethod(); final String capitalizedName = StringExtensions.asJavaBaseNameStripAccessorPrefixIfRequired(getMethod.getName()); final Class<?> cls = processMethodContext.getCls(); final Method notInServiceMenuMethod = MethodFinderUtils.findMethod( cls, MethodScope.OBJECT, "notInServiceMenu" + capitalizedName, boolean.class, new Class[] {}); if (notInServiceMenuMethod == null) { return; } processMethodContext.removeMethod(notInServiceMenuMethod); final FacetHolder facetedMethod = processMethodContext.getFacetHolder(); FacetUtil.addFacet(new NotInServiceMenuFacetMethod(notInServiceMenuMethod, facetedMethod)); }
@Override public void process(final ProcessMethodContext processMethodContext) { final Class<?> type = processMethodContext.getMethod().getReturnType(); final FacetedMethod facetHolder = processMethodContext.getFacetHolder(); addFacetDerivedFromTypeIfPresent(facetHolder, type); }