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

com.google.gwt.emul.java.lang.reflect.Float_Field Maven / Gradle / Ivy

The newest version!
package java.lang.reflect;

import com.google.gwt.core.client.JavaScriptObject;

import java.lang.annotation.Annotation;
import java.util.function.Supplier;

/**
 * A field representing a float short.
 * 
 * @author "[email protected]"
 * 
 */
public final class Float_Field extends Field {

  private boolean expectChar;
  
  public Float_Field(Class declaringClass, String name, int modifiers,
      JavaScriptObject accessor, Supplier annos) {
    super(float.class, declaringClass, name, modifiers, accessor, annos);
  }

  protected final Object nativeGet(Object obj) {
    return new Float(primitiveGet(obj));
  }

  protected final void nativeSet(Object obj, Object value) {
    if (expectChar) {
      expectChar = false;
      primitiveSet(obj, ((Character) value).charValue());
    } else {
      primitiveSet(obj, ((Number) value).floatValue());
    }
  }
  
  protected boolean isNotAssignable (Class c) {
    if (c == Float.class)
      return (expectChar = false);
    if (Number.class.isAssignableFrom(c)) {
      expectChar = false;
      return c == Double.class;
    }
    expectChar = c == Character.class;
    return !expectChar;
  }

  protected final native float primitiveGet(Object obj)
  /*-{
    return [email protected]::accessor.getter(obj);
   }-*/;

  protected final native void primitiveSet(Object obj, float value)
  /*-{
    [email protected]::accessor.setter(obj, value);
   }-*/;

  protected boolean nullNotAllowed() {
    return true;
  }

  public final float getFloat(Object obj) throws IllegalArgumentException,
      IllegalAccessException {
    maybeThrowNull(obj);
    return primitiveGet(obj);
  }
  
  public final double getDouble(Object obj) throws IllegalArgumentException,
  IllegalAccessException {
    maybeThrowNull(obj);
    return primitiveGet(obj);
  }

  public final void setFloat(Object obj, float f)
      throws IllegalArgumentException, IllegalAccessException {
    maybeThrowNull(obj);
    primitiveSet(obj, f);
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy