Exemple #1
0
  public static double variance(Collection<?> inputList, String propertyPath) {
    double mean = mean(inputList, propertyPath);
    double temp = 0;

    double a;

    if (propertyPath.contains(".") || propertyPath.contains("[")) {

      String[] properties = StringScanner.splitByDelimiters(propertyPath, ".[]");

      for (Object o : inputList) {
        a = BeanUtils.getPropertyInt(o, properties);
        temp += (mean - a) * (mean - a);
      }

    } else {

      Map<String, FieldAccess> fields = BeanUtils.getFieldsFromObject(inputList.iterator().next());
      FieldAccess fieldAccess = fields.get(propertyPath);
      for (Object o : inputList) {
        a = fieldAccess.getInt(o);
        temp += (mean - a) * (mean - a);
      }
    }

    return Math.round(temp / inputList.size());
  }
Exemple #2
0
  /**
   * Calculate a sum of a property from a list.
   *
   * @param inputList
   * @param propertyPath to item we want to sum
   * @return sum
   */
  public static long sum(Collection<?> inputList, String propertyPath) {
    if (inputList.size() == 0) {
      return 0;
    }

    long sum = 0l;

    if (propertyPath.contains(".") || propertyPath.contains("[")) {

      String[] properties = StringScanner.splitByDelimiters(propertyPath, ".[]");

      for (Object o : inputList) {
        sum += BeanUtils.getPropertyInt(o, properties);
      }

    } else {

      Map<String, FieldAccess> fields = BeanUtils.getFieldsFromObject(inputList.iterator().next());
      FieldAccess fieldAccess = fields.get(propertyPath);
      for (Object o : inputList) {
        sum += fieldAccess.getInt(o);
      }
    }

    return sum;
  }
Exemple #3
0
 @Override
 public Object getValue(Object obj) {
   if (name.equals("this")) {
     return thisObject;
   } else {
     return BeanUtils.atIndex(thisObject, name);
   }
 }
Exemple #4
0
 public char fieldChar() {
   if (!path) {
     FieldAccess field1 = this.field();
     return field1.getChar(objectUnderTest);
   } else {
     return BeanUtils.idxChar(objectUnderTest, name.toString());
   }
 }
Exemple #5
0
 public long fieldLong() {
   if (!path) {
     FieldAccess field1 = this.field();
     return field1.getLong(objectUnderTest);
   } else {
     return BeanUtils.idxLong(objectUnderTest, name.toString());
   }
 }
Exemple #6
0
 public int fieldInt() {
   if (!path) {
     FieldAccess field1 = this.field();
     return field1.getInt(objectUnderTest);
   } else {
     return BeanUtils.idxInt(objectUnderTest, name.toString());
   }
 }
Exemple #7
0
  public byte fieldByte() {

    if (!path) {
      FieldAccess field1 = this.field();
      return field1.getByte(objectUnderTest);
    } else {
      return BeanUtils.idxByte(objectUnderTest, name.toString());
    }
  }
Exemple #8
0
  /**
   * Gets the field value.
   *
   * @return the value of the field
   */
  public Object fieldValue() {

    if (!path) {
      FieldAccess field1 = this.field();
      return field1.getValue(objectUnderTest);
    } else {
      return BeanUtils.atIndex(objectUnderTest, name.toString());
    }
  }
Exemple #9
0
  @SuppressWarnings("unchecked")
  public static <T> T toPrimitiveArrayIfPossible(Class<T> clz, Object value) {
    if (clz == Typ.intArray) {
      return (T) iarray(value);
    } else if (clz == Typ.byteArray) {
      return (T) barray(value);
    } else if (clz == Typ.charArray) {
      return (T) carray(value);
    } else if (clz == Typ.shortArray) {
      return (T) sarray(value);
    } else if (clz == Typ.longArray) {
      return (T) larray(value);
    } else if (clz == Typ.floatArray) {
      return (T) farray(value);
    } else if (clz == Typ.doubleArray) {
      return (T) darray(value);
    } else if (value.getClass() == clz) {
      return (T) value;
    } else {
      int index = 0;
      Object newInstance = Array.newInstance(clz.getComponentType(), Boon.len(value));
      Iterator<Object> iterator = iterator(Typ.object, value);
      while (iterator.hasNext()) {

        Object item = iterator.next();

        if (clz.getComponentType().isAssignableFrom(item.getClass())) {

          BeanUtils.idx(newInstance, index, item);

        } else {

          item = coerce(clz.getComponentType(), item);

          BeanUtils.idx(newInstance, index, item);
        }
        index++;
      }
      return (T) newInstance;
    }
  }
Exemple #10
0
 public static Object toArrayGuessType(Collection<?> value) {
   Class<?> componentType = Reflection.getComponentType(value);
   Object array = Array.newInstance(componentType, value.size());
   @SuppressWarnings("unchecked")
   Iterator<Object> iterator = (Iterator<Object>) value.iterator();
   int index = 0;
   while (iterator.hasNext()) {
     BeanUtils.idx(array, index, iterator.next());
     index++;
   }
   return array;
 }
Exemple #11
0
  /**
   * Gets the field value.
   *
   * @return the value of the field
   */
  public FieldAccess field() {

    FieldAccess field;

    if (path) {
      field = BeanUtils.idxField(objectUnderTest, name.toString());

      if (field == null) {
        return fakeField();
      }

      return field;
    }

    if (name instanceof Enum) {
      name = Str.camelCaseLower(name.toString());
    }

    field = fields().get(name);

    return field;
  }
Exemple #12
0
  private Map<String, FieldAccess> fields() {

    return BeanUtils.getFieldsFromObject(objectUnderTest);
  }
Exemple #13
0
 /**
  * Is this a property path?
  *
  * @param prop property
  * @return true or false
  */
 private static boolean isPropPath(String prop) {
   return BeanUtils.isPropPath(prop);
 }
Exemple #14
0
  private Map<String, FieldAccess> fields() {

    if (objectUnderTest instanceof Map) {
      return BeanUtils.getFieldsFromObject(objectUnderTest);
    }

    if (fields == null) {
      fields = BeanUtils.getFieldsFromObject(objectUnderTest);
    }

    return fields;

    //        if (objectUnderTest instanceof Map) {
    //            final Map<String, Object> map = (Map<String, Object>) objectUnderTest;
    //            return new Map<String, FieldAccess>() {
    //
    //                @Override
    //                public int size() {
    //                    return map.size();
    //                }
    //
    //                @Override
    //                public boolean isEmpty() {
    //                    return map.isEmpty();
    //                }
    //
    //                @Override
    //                public boolean containsKey(Object key) {
    //                    return map.containsKey(key);
    //                }
    //
    //                @Override
    //                public boolean containsValue(Object value) {
    //                    return map.containsValue(value);
    //                }
    //
    //                @Override
    //                public FieldAccess get(Object okey) {
    //
    //                    final String key = okey.toString();
    //
    //                    return new FieldAccess() {
    //                        @Override
    //                        public boolean injectable() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean requiresInjection() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isNamed() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean hasAlias() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public String alias() {
    //                            return key;
    //                        }
    //
    //                        @Override
    //                        public String named() {
    //                            return key;
    //                        }
    //
    //                        @Override
    //                        public String name() {
    //                            return key;
    //                        }
    //
    //                        @Override
    //                        public Object getValue(Object obj) {
    //
    //                            Map<String, Object> map = (Map<String, Object>) obj;
    //
    //                            return map.get(key);
    //                        }
    //
    //                        @Override
    //                        public void setValue(Object obj, Object value) {
    //
    //                            Map<String, Object> map = (Map<String, Object>) obj;
    //
    //                            map.put(key, value);
    //
    //                        }
    //
    //                        @Override
    //                        public void setFromValue(Object obj, Value value) {
    //                            Map<String, Object> map = (Map<String, Object>) obj;
    //
    //                            map.put(key, value.toValue());
    //
    //                        }
    //
    //                        @Override
    //                        public boolean getBoolean(Object obj) {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public void setBoolean(Object obj, boolean value) {
    //
    //                        }
    //
    //                        @Override
    //                        public int getInt(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setInt(Object obj, int value) {
    //
    //                        }
    //
    //                        @Override
    //                        public short getShort(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setShort(Object obj, short value) {
    //
    //                        }
    //
    //                        @Override
    //                        public char getChar(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setChar(Object obj, char value) {
    //
    //                        }
    //
    //                        @Override
    //                        public long getLong(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setLong(Object obj, long value) {
    //
    //                        }
    //
    //                        @Override
    //                        public double getDouble(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setDouble(Object obj, double value) {
    //
    //                        }
    //
    //                        @Override
    //                        public float getFloat(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setFloat(Object obj, float value) {
    //
    //                        }
    //
    //                        @Override
    //                        public byte getByte(Object obj) {
    //                            return 0;
    //                        }
    //
    //                        @Override
    //                        public void setByte(Object obj, byte value) {
    //
    //                        }
    //
    //                        @Override
    //                        public Object getObject(Object obj) {
    //                            Map<String, Object> map = (Map<String, Object>) obj;
    //
    //                            return map.get(key);
    //
    //                        }
    //
    //                        @Override
    //                        public void setObject(Object obj, Object value) {
    //                            Map<String, Object> map = (Map<String, Object>) obj;
    //
    //                            map.put(key, value);
    //
    //
    //                        }
    //
    //
    //                        @Override
    //                        public Class<?> type() {
    //
    //                            Object value = map.get(key);
    //                            if (value==null) {
    //                                return Object.class;
    //                            } else {
    //                                return value.getClass();
    //                            }
    //
    //                        }
    //
    //                        @Override
    //                        public TypeType typeEnum() {
    //
    //                            Object value = map.get(key);
    //                            if (value==null) {
    //                                return TypeType.OBJECT;
    //                            } else {
    //                                return TypeType.getInstanceType(value);
    //                            }
    //                        }
    //
    //                        @Override
    //                        public boolean isPrimitive() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isFinal() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isStatic() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isVolatile() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isQualified() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isReadOnly() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean isWriteOnly() {
    //                            return false;
    //                        }
    //
    //
    //                        @Override
    //                        public Class<?> declaringParent() {
    //                            return Object.class;
    //                        }
    //
    //                        @Override
    //                        public Object parent() {
    //                            return map;
    //                        }
    //
    //                        @Override
    //                        public Field getField() {
    //                            return null;
    //                        }
    //
    //                        @Override
    //                        public boolean include() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public boolean ignore() {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public ParameterizedType getParameterizedType() {
    //                            return null;
    //                        }
    //
    //                        @Override
    //                        public Class<?> getComponentClass() {
    //                            return null;
    //                        }
    //
    //                        @Override
    //                        public boolean hasAnnotation(String annotationName) {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public Map<String, Object> getAnnotationData(String annotationName) {
    //                            return null;
    //                        }
    //
    //                        @Override
    //                        public boolean isViewActive(String activeView) {
    //                            return false;
    //                        }
    //
    //                        @Override
    //                        public void setStaticValue(Object newValue) {
    //
    //                        }
    //
    //                        @Override
    //                        public TypeType componentType() {
    //                            return null;
    //                        }
    //                    };
    //                }
    //
    //                @Override
    //                public FieldAccess put(String key, FieldAccess value) {
    //                    return null;
    //                }
    //
    //                @Override
    //                public FieldAccess remove(Object key) {
    //                    return null;
    //                }
    //
    //                @Override
    //                public void putAll(Map<? extends String, ? extends FieldAccess> m) {
    //
    //                }
    //
    //                @Override
    //                public void clear() {
    //
    //                }
    //
    //                @Override
    //                public Set<String> keySet() {
    //                    return map.keySet();
    //                }
    //
    //                @Override
    //                public Collection<FieldAccess> values() {
    //                    return null;
    //                }
    //
    //                @Override
    //                public Set<Entry<String, FieldAccess>> entrySet() {
    //                    return null;
    //                }
    //            };
    //        } else {
    //
    //        return BeanUtils.getFieldsFromObject(objectUnderTest);
    //        }
  }