Reports incorrect Spring Integration endpoint method declarations.

Example:


class MyEndpoints {
  @InboundChannelAdapter("channel")
  public void cannotBeVoid() {...} // A method annotated with @InboundChannelAdapter must have a return type

  @InboundChannelAdapter("channel")
  public String cannotHaveParams(String s) {..} // A method annotated with @InboundChannelAdapter can't have arguments

  @Filter(inputChannel = "channel", // Endpoint can have only one poller
    outputChannel = "channel2",
    poller = {@Poller(fixedDelay = "100"), @Poller(fixedRate = "100")})
  public void testMultiplePollers() {
  }

  @Filter(inputChannel = "channel",
  outputChannel = "channel2",
  poller = @Poller(value = "poller", maxMessagesPerPoll = "100"))
  public void testValue() {
  }

  @Filter(inputChannel = "channel",
    outputChannel = "channel2",
    poller = @Poller(trigger = "trigger", cron = "0 */10 * * * *")) // 'trigger' attribute is mutually exclusive with other attributes
  public void testTrigger() {
  }
}