protected static Object getArrayProperty(Object object,int index){ return Enumerables.of(object).get(index); }
/** * Returns a sequential {@code Stream} with this enumerable as its source. * * <p> * The default implementation creates a sequential {@code Stream} from the * collection's {@code Spliterator}. * * @return a sequential {@code Stream} over the elements in this enumerable */ default Stream<E> stream() { return StreamSupport.stream(spliterator(), false); }
relationProperties.put(rp, new Object[]{v}); } else { relationProperties.put(rp, e.toArray());
protected boolean doValidateArray(Validation validation, String name, Enumerable e) { int size = e.size(); if(null != validated.getMinItems() && size < validated.getMinItems()) { validation.addError(name, "The array's size must be >= " + validated.getMinItems()); return false; } if(null != validated.getMaxItems() && size > validated.getMaxItems()) { validation.addError(name, "The array's size must <= " + validated.getMaxItems()); return false; } return true; }
stm.append(JDBC.PARAMETER_PLACEHOLDER_CHAR); stm.addParameter(value); }else if(c.isEmpty()) { stm.append(JDBC.PARAMETER_PLACEHOLDER_CHAR); stm.addParameter(null);
relationProperties.put(rp, new Object[]{v}); }else{ relationProperties.put(rp, e.toArray());
static Object convert(Object value, OpenType targetType) { if(null == value) { return null; } if(targetType instanceof SimpleType) { return value; } if(targetType instanceof CompositeType) { CompositeType ct = (CompositeType)targetType; try { return convertToCompositeData(value, ct); } catch (OpenDataException e) { throw new MException(e); } } if(targetType instanceof ArrayType) { ArrayType at = (ArrayType)targetType; OpenType elementType = at.getElementOpenType(); if(elementType instanceof SimpleType) { return Enumerables.of(value).toList(); } List<Object> list = new ArrayList<>(); for(Object item : Enumerables.of(value)) { list.add(convert(item, elementType)); } return list; } //todo : support throw new IllegalStateException("Not supported open type '" + targetType + "'"); }
@Override public Object getArrayItem(Object a, int index) { return array(a).get(index); }
/** * Returns a possibly parallel {@code Stream} with this enumerable as its * source. It is allowable for this method to return a sequential stream. * * <p> * The default implementation creates a parallel {@code Stream} from the * enumerable's {@code Spliterator}. * * @return a possibly parallel {@code Stream} over the elements in this * enumerable */ default Stream<E> parallelStream() { return StreamSupport.stream(spliterator(), true); }