Example usage for org.springframework.web.method.support InvocableHandlerMethod isVoid

List of usage examples for org.springframework.web.method.support InvocableHandlerMethod isVoid

Introduction

In this page you can find the example usage for org.springframework.web.method.support InvocableHandlerMethod isVoid.

Prototype

public boolean isVoid() 

Source Link

Document

Return true if the method return type is void, false otherwise.

Usage

From source file:org.springframework.web.method.annotation.ModelFactory.java

/**
 * Invoke model attribute methods to populate the model.
 * Attributes are added only if not already present in the model.
 *//*  w w  w .  j ava 2  s  . c  o m*/
private void invokeModelAttributeMethods(NativeWebRequest request, ModelAndViewContainer container)
        throws Exception {

    while (!this.modelMethods.isEmpty()) {
        InvocableHandlerMethod modelMethod = getNextModelMethod(container).getHandlerMethod();
        ModelAttribute ann = modelMethod.getMethodAnnotation(ModelAttribute.class);
        Assert.state(ann != null, "No ModelAttribute annotation");
        if (container.containsAttribute(ann.name())) {
            if (!ann.binding()) {
                container.setBindingDisabled(ann.name());
            }
            continue;
        }

        Object returnValue = modelMethod.invokeForRequest(request, container);
        if (!modelMethod.isVoid()) {
            String returnValueName = getNameForReturnValue(returnValue, modelMethod.getReturnType());
            if (!ann.binding()) {
                container.setBindingDisabled(returnValueName);
            }
            if (!container.containsAttribute(returnValueName)) {
                container.addAttribute(returnValueName, returnValue);
            }
        }
    }
}