Package models.crudsiena

Source Code of models.crudsiena.GaeBlobBinder

package models.crudsiena;

import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.List;

import play.data.Upload;
import play.data.binding.Binder;
import play.data.binding.Global;
import play.data.binding.TypeBinder;
import play.mvc.Http.Request;

import com.google.appengine.api.datastore.Blob;

@Global
public class GaeBlobBinder implements TypeBinder<Blob> {

    public Object bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) throws Exception {
      List<Upload> uploads = (List<Upload>)Request.current().args.get("__UPLOADS");
        for(Upload upload : uploads) {
            if(upload.getFieldName().equals(value)) {
              byte[] data = upload.asBytes();
             
              if(data.length > 0)
                return new Blob(data);
            }
        }
        return Binder.MISSING;
    }

}
TOP

Related Classes of models.crudsiena.GaeBlobBinder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.