public boolean validate(final Field column, final long lineNumber, final String value) { errorArgs = new String[] {lineNumber + "", column.getName(), value}; // ignore a null value if this is the case if ((column.getType() == DataType.SCTID_OR_UUID) && isBlank(value)) return true; for (final Pattern pattern : patterns) { if (pattern.matcher(value).matches()) { return true; } } validationLog.assertionError(errorMessage, lineNumber, column.getName(), value); return false; }
private ColumnType getColumnType(final Field field) { switch (field.getType()) { case SCTID: return ColumnType.SCTID; case SCTID_OR_UUID: return ColumnType.REL_SCTID; case UUID: return field.isMandatory() ? ColumnType.UUID : ColumnType.REL_UUID; case TIME: return field.isMandatory() ? ColumnType.TIME : ColumnType.REL_TIME; case BOOLEAN: return ColumnType.BOOLEAN; case INTEGER: return ColumnType.INTEGER; case STRING: return ColumnType.STRING; } return null; }