/* * ARX: Powerful Data Anonymization * Copyright 2014 - 2015 Karol Babioch, Fabian Prasser, Florian Kohlmayer * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.deidentifier.arx.io; import org.deidentifier.arx.DataType; /** * Represents a single data column * * This represents a single column that will be imported from. Each column at * least consists of an {@link #aliasName} and {@link #dataType}. * * @author Karol Babioch * @author Fabian Prasser * @author Florian Kohlmayer * */ abstract public class ImportColumn { /** * Alias name of column. * * @note Note that this is alias name of the column. The original names * might be different in case of {@link IImportColumnNamed}. */ private String aliasName; /** Datatype of column. */ private DataType<?> dataType; /** Indicates if non-matching values should be replaced with NULL values. */ private boolean cleansing; /** * Creates a new instance of this object with the given parameters. * * @param aliasName {@link #aliasName} * @param dataType {@link #dataType} */ public ImportColumn(String aliasName, DataType<?> dataType) { setAliasName(aliasName); setDataType(dataType); cleansing = false; } /** * Creates a new instance of this object with the given parameters. * * @param aliasName {@link #aliasName} * @param dataType {@link #dataType} * @param cleansing the cleansing */ public ImportColumn(String aliasName, DataType<?> dataType, boolean cleansing) { setAliasName(aliasName); setDataType(dataType); this.cleansing = cleansing; } /** * Gets the alias name. * * @return {@link #aliasName} */ public String getAliasName() { return aliasName; } /** * Gets the data type. * * @return {@link #dataType} */ public DataType<?> getDataType() { return dataType; } /** * Should non-matching values be replaced with NULL values. * * @return true, if cleansing is enabled */ public boolean isCleansing() { return cleansing; } /** * Sets the alias name. * * @param aliasName {@link #aliasName} */ public void setAliasName(String aliasName) { this.aliasName = aliasName; } /** * Should we perform cleansing * @param cleansing */ public void setCleansing(boolean cleansing) { this.cleansing = cleansing; } /** * Sets the data type. * * @param dataType {@link #dataType} */ public void setDataType(DataType<?> dataType) { this.dataType = dataType; } }