private static PrimitiveType.PrimitiveTypeName getTypeName(Type type) { switch (type) { case BOOL: return PrimitiveType.PrimitiveTypeName.BOOLEAN; case INT8: return PrimitiveType.PrimitiveTypeName.INT32; case INT16: return PrimitiveType.PrimitiveTypeName.INT64; case INT32: return PrimitiveType.PrimitiveTypeName.INT32; case INT64: return PrimitiveType.PrimitiveTypeName.INT64; case STRING: return PrimitiveType.PrimitiveTypeName.BINARY; case FLOAT: return PrimitiveType.PrimitiveTypeName.FLOAT; case DOUBLE: return PrimitiveType.PrimitiveTypeName.DOUBLE; default: throw new IllegalArgumentException("Type " + type.getName() + " not recognized"); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Column name: "); sb.append(name); sb.append(", type: "); sb.append(type.getName()); if (typeAttributes != null) { sb.append(typeAttributes.toStringForType(type)); } return sb.toString(); }
private void checkType(int columnIndex, Type expectedType) { ColumnSchema columnSchema = schema.getColumnByIndex(columnIndex); Type columnType = columnSchema.getType(); if (!columnType.equals(expectedType)) { throw new IllegalArgumentException("Column (name: " + columnSchema.getName() + ", index: " + columnIndex + ") is of type " + columnType.getName() + " but was requested as a type " + expectedType.getName()); } }
private void checkColumn(Type... passedTypes) { for (Type type : passedTypes) { if (this.column.getType().equals(type)) { return; } } throw new IllegalArgumentException(String.format("%s's type isn't %s, it's %s", column.getName(), Arrays.toString(passedTypes), column.getType().getName())); } }
/** * Checks that the column is one of the expected types. * @param column the column being checked * @param passedTypes the expected types (logical OR) */ private static void checkColumn(ColumnSchema column, Type... passedTypes) { for (Type type : passedTypes) { if (column.getType().equals(type)) { return; } } throw new IllegalArgumentException(String.format("%s's type isn't %s, it's %s", column.getName(), Arrays.toString(passedTypes), column.getType().getName())); }
/** * Appends a debug string for the provided columns in the row. * * @param idxs the column indexes * @param sb the string builder to append to */ void appendDebugString(List<Integer> idxs, StringBuilder sb) { boolean first = true; for (int idx : idxs) { if (first) { first = false; } else { sb.append(", "); } ColumnSchema col = schema.getColumnByIndex(idx); sb.append(col.getType().getName()); sb.append(' '); sb.append(col.getName()); sb.append('='); appendCellValueDebugString(idx, sb); } }
/** * Verifies if the column exists and belongs to one of the specified types * @param column column the user wants to set * @param types types we expect * @throws IllegalArgumentException if the column or type was invalid */ private void checkColumn(ColumnSchema column, Type... types) { checkColumnExists(column); for (Type type : types) { if (column.getType().equals(type)) { return; } } throw new IllegalArgumentException(String.format("%s isn't %s, it's %s", column.getName(), Arrays.toString(types), column.getType().getName())); }
/** {@inheritDoc} */ @Override public String toString() { int numCols = schema.getColumnCount(); StringBuilder sb = new StringBuilder(); sb.append('('); boolean first = true; for (int idx = 0; idx < numCols; ++idx) { if (!columnsBitSet.get(idx)) { continue; } if (first) { first = false; } else { sb.append(", "); } ColumnSchema col = schema.getColumnByIndex(idx); sb.append(col.getType().getName()); if (col.getTypeAttributes() != null) { sb.append(col.getTypeAttributes().toStringForType(col.getType())); } sb.append(' '); sb.append(col.getName()); sb.append('='); appendCellValueDebugString(idx, sb); } sb.append(')'); return sb.toString(); }