Example #1
0
  /** Returns fields not explicitly specified by this value. */
  @Override
  protected Value getFieldExt(Env env, StringValue name) {
    if (_object == null) {
      _object = createJavaObject(env);
    }

    Value parentValue = super.getFieldExt(env, name);
    if (parentValue != NullValue.NULL && parentValue != UnsetValue.UNSET) {
      return parentValue;
    }

    Value value = _javaClassDef.getField(env, this, name);
    Value biancaValue = _biancaClass.getField(env, this, name);

    if (biancaValue != null && biancaValue != UnsetValue.UNSET && biancaValue != NullValue.NULL) {
      return biancaValue;
    }

    if (value != null) {
      return value;
    } else {
      return super.getFieldExt(env, name);
    }
  }