@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + getName().hashCode(); result = prime * result + getElementType().hashCode(); return result; }
/** * create a array type object with no child */ public static ArrayType createDefaultArrayType() { return new ArrayType(STRING); }
/** * get array child element data type name by ordinal * * @param ordinal the data index of carbon schema * @return ordinal array child element data type name */ public String getArrayElementTypeName(int ordinal) { if (getFieldDataTypeName(ordinal).equalsIgnoreCase("ARRAY")) { return ((ArrayType) fields[ordinal].getDataType()).getElementType().getName(); } throw new RuntimeException("Only support Array type."); }
if (DataTypes.isArrayType(dataType)) { List<StructField> arrayFields = new ArrayList<>(); StructField arrayField = prepareSubFields(fieldName, ((ArrayType) dataType).getElementType()); arrayFields.add(arrayField); return new StructField(fieldName, DataTypes.createArrayType(arrayField.getDataType()),
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } ArrayType other = (ArrayType) obj; if (!this.getName().equalsIgnoreCase(other.getName())) { return false; } if (!this.getElementType().equals(other.getElementType())) { return false; } return true; }
if (DataTypes.isArrayType(field.getDataType())) { String colName = getColNameForArray(valIndex); addColumn(new StructField(colName, ((ArrayType) field.getDataType()).getElementType()), field.getFieldName(), valIndex, false, true, isInvertedIdxColumn); } else if (DataTypes.isStructType(field.getDataType())
/** * create array type with specified element type */ public static ArrayType createArrayType(DataType elementType) { return new ArrayType(elementType); }