BooleanAttributeColumnMapping.java
/*
* Copyright (C) 2021 B3Partners B.V.
*
* SPDX-License-Identifier: MIT
*/
package nl.b3p.brmo.schema.mapping;
import nl.b3p.brmo.sql.dialect.OracleDialect;
import nl.b3p.brmo.sql.dialect.SQLDialect;
public class BooleanAttributeColumnMapping extends AttributeColumnMapping {
public BooleanAttributeColumnMapping(String name, boolean notNull) {
super(name, "boolean", notNull, false);
}
public BooleanAttributeColumnMapping(String name) {
this(name, true);
}
@Override
public Object toQueryParameter(Object value, SQLDialect sqlDialect) throws Exception {
if (sqlDialect instanceof OracleDialect) {
// Use default string to have 'true' and 'false' in nvarchar2(5) column
return super.toQueryParameter(value, sqlDialect);
} else {
if (value == null) {
return null;
} else {
return Boolean.parseBoolean(value.toString());
}
}
}
}