public Operand(Type type, @Nullable Object value) { _type = type; _value = value; if (type == Type.COLUMN) { @SuppressWarnings("unchecked") List<String> columns = (List<String>) _value; for (String column : columns) { if (!ColumnMetadata.isLegalColumnName(column)) { throw new IllegalArgumentException("Illegal operand: Bad column name: " + column); } } } }
public ColumnMetadata( String name, Schema schema, String description, @Nullable Boolean isKey, @Nullable Boolean isValue) { if (!isLegalColumnName(name)) { throw new IllegalArgumentException( String.format( "Illegal column name '%s'. Column names should match '%s", name, COLUMN_NAME_PATTERN)); } _name = name; _schema = schema; _description = description; _isKey = firstNonNull(isKey, true); _isValue = firstNonNull(isValue, true); }
assertThat(ColumnMetadata.isLegalColumnName("~colNamewith~Tilde"), equalTo(true)); assertThat(ColumnMetadata.isLegalColumnName("_colNameWith_UnderScore"), equalTo(true)); assertThat(ColumnMetadata.isLegalColumnName("-colNameWith-hyphen"), equalTo(false)); assertThat(ColumnMetadata.isLegalColumnName("colNameWith-hyphen"), equalTo(true)); assertThat(ColumnMetadata.isLegalColumnName("column name"), equalTo(false)); assertThat(ColumnMetadata.isLegalColumnName(".test.colName"), equalTo(false)); assertThat(ColumnMetadata.isLegalColumnName("test.colName"), equalTo(true)); assertThat(ColumnMetadata.isLegalColumnName("@test@colName"), equalTo(false)); assertThat(ColumnMetadata.isLegalColumnName("test@colName"), equalTo(true)); assertThat(ColumnMetadata.isLegalColumnName("_colName_With~Under-Score0-9"), equalTo(true)); ColumnMetadata.isLegalColumnName("colNameWith!@#$%^&*()+Characters"), equalTo(false)); assertThat(ColumnMetadata.isLegalColumnName(""), equalTo(false)); assertThat(ColumnMetadata.isLegalColumnName("a"), equalTo(true)); ColumnMetadata.isLegalColumnName("~col_name_test:default:192.168.10.1/24~"), equalTo(true));