Open Source Repository

Home /jodd/jodd-3.3.2 | Repository Home


jodd/bean/loader/MultipartRequestWrapperBeanLoader.java
// Copyright (c) 2003-2012, Jodd Team (jodd.org). All Rights Reserved.

package jodd.bean.loader;

import jodd.servlet.upload.MultipartRequestWrapper;
import jodd.servlet.upload.MultipartRequest;

import javax.servlet.http.HttpServletRequest;

/**
 * Populates java bean from {@link MultipartRequestWrapper} objects.
 */
public class MultipartRequestWrapperBeanLoader extends BaseBeanLoader {

  protected final MultipartRequestBeanLoader multipartRequestBeanLoader;
  protected final RequestBeanLoader requestBeanLoader;

  public MultipartRequestWrapperBeanLoader() {
    this(false);
  }

  public MultipartRequestWrapperBeanLoader(boolean trim) {
    multipartRequestBeanLoader = new MultipartRequestBeanLoader(trim);
    requestBeanLoader = new RequestBeanLoader(trim);
  }

  public void load(Object bean, Object source) {
    if (source instanceof MultipartRequestWrapper) {
      MultipartRequestWrapper multipartRequestWrapper = (MultipartRequestWrappersource;

      MultipartRequest multipartRequest = multipartRequestWrapper.getMultipartRequest();

      if (multipartRequest != null) {
        // multipart
        multipartRequestBeanLoader.load(bean, multipartRequest);
      else {
        // regular request
        HttpServletRequest req = (HttpServletRequestmultipartRequestWrapper.getRequest();
        requestBeanLoader.load(bean, req);
      }
    }
  }
}