@Test public void columnNamesDoNotInheritSafetyFromTableReferences() { SafeLoggableData safeLoggableData = ImmutableSafeLoggableData.builder() .addPermittedTableReferences(TABLE_REFERENCE_1) .build(); assertThat(safeLoggableData.isColumnNameSafe(TABLE_REFERENCE_1, COLUMN_NAME_1)).isFalse(); }
@Override public boolean isColumnNameSafe(TableReference tableReference, String columnName) { return permittedColumnNames().containsKey(tableReference) && permittedColumnNames().get(tableReference).contains(columnName); }
SafeLoggableData implements KeyValueServiceLogArbitrator { @Override public boolean isColumnNameSafe(TableReference tableReference, String columnName) { return permittedColumnNames().containsKey(tableReference) && permittedColumnNames().get(tableReference).contains(columnName); } }
SafeLoggableData implements KeyValueServiceLogArbitrator { @Override public boolean isColumnNameSafe(TableReference tableReference, String columnName) { return permittedColumnNames().containsKey(tableReference) && permittedColumnNames().get(tableReference).contains(columnName); }  }
SafeLoggableData implements KeyValueServiceLogArbitrator { @Override public boolean isColumnNameSafe(TableReference tableReference, String columnName) { return permittedColumnNames().containsKey(tableReference) && permittedColumnNames().get(tableReference).contains(columnName); }  abstract Set<TableReference> permittedTableReferences(); @Value.Lazy Set<String> permittedInternalTableReferences(); abstract Map<TableReference, Set<String>> permittedRowComponents(); abstract Map<TableReference, Set<String>> permittedColumnNames(); @Override boolean isTableReferenceSafe(TableReference tableReference); @Override boolean isInternalTableReferenceSafe(String internalTableReference); @Override boolean isRowComponentNameSafe(TableReference tableReference, String rowComponentName); @Override boolean isColumnNameSafe(TableReference tableReference, String columnName); }
SafeLoggableData implements KeyValueServiceLogArbitrator { @Override public boolean isColumnNameSafe(TableReference tableReference, String columnName) { return permittedColumnNames().containsKey(tableReference) && permittedColumnNames().get(tableReference).contains(columnName); }  abstract Set<TableReference> permittedTableReferences(); @Value.Lazy Set<String> permittedInternalTableReferences(); abstract Map<TableReference, Set<String>> permittedRowComponents(); abstract Map<TableReference, Set<String>> permittedColumnNames(); @Override boolean isTableReferenceSafe(TableReference tableReference); @Override boolean isInternalTableReferenceSafe(String internalTableReference); @Override boolean isRowComponentNameSafe(TableReference tableReference, String rowComponentName); @Override boolean isColumnNameSafe(TableReference tableReference, String columnName);  }