@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());
 }
Exemplo n.º 4
0
 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);
 }