Sha256: e9d5bf4fbe76eeebd6726ac6c6181da01c06eaa8875af73bbc9215c7c009739b
Contents?: true
Size: 1.41 KB
Versions: 39
Compression:
Stored size: 1.41 KB
Contents
package org.embulk.spi.util.dynamic; import com.google.common.collect.ImmutableSet; import org.embulk.spi.Column; import org.embulk.spi.PageBuilder; import org.embulk.spi.time.Timestamp; public class BooleanColumnSetter extends AbstractDynamicColumnSetter { private static final ImmutableSet<String> TRUE_STRINGS = ImmutableSet.of( "true", "True", "TRUE", "yes", "Yes", "YES", "t", "T", "y", "Y", "on", "On", "ON", "1"); public BooleanColumnSetter(PageBuilder pageBuilder, Column column, DefaultValueSetter defaultValue) { super(pageBuilder, column, defaultValue); } @Override public void setNull() { pageBuilder.setNull(column); } @Override public void set(boolean v) { pageBuilder.setBoolean(column, v); } @Override public void set(long v) { pageBuilder.setBoolean(column, v > 0); } @Override public void set(double v) { pageBuilder.setBoolean(column, v > 0.0); } @Override public void set(String v) { if (TRUE_STRINGS.contains(v)) { pageBuilder.setBoolean(column, true); } else { defaultValue.setDouble(pageBuilder, column); } } @Override public void set(Timestamp v) { defaultValue.setBoolean(pageBuilder, column); } }
Version data entries
39 entries across 39 versions & 1 rubygems