All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.stickycode.component.cxf.spring30.WebServiceCollector Maven / Gradle / Ivy

The newest version!
package net.stickycode.component.cxf.spring30;

import javax.inject.Inject;
import javax.jws.WebService;

import net.stickycode.component.cxf.WebServiceExposureRepository;
import net.stickycode.stereotype.StickyComponent;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

@StickyComponent
public class WebServiceCollector
    implements BeanPostProcessor {

  @Inject
  private WebServiceExposureRepository exposures;

  @Override
  public Object postProcessAfterInitialization(Object bean, String beanName)
      throws BeansException {
    process(bean, beanName);
    return bean;
  }

  @Override
  public Object postProcessBeforeInitialization(Object bean, String beanName)
      throws BeansException {
    return bean;
  }

  void process(Object bean, String beanName) {
    for (Class i : bean.getClass().getInterfaces())
      if (i.isAnnotationPresent(WebService.class))
        exposures.add(bean, i);
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy