package org.knime.knip.io.nodes.imgwriter2; import org.knime.core.node.InvalidSettingsException; import org.knime.core.node.NodeSettingsRO; import org.knime.core.node.defaultnodesettings.SettingsModelBoolean; import org.knime.core.node.defaultnodesettings.SettingsModelColumnName; import org.knime.core.node.defaultnodesettings.SettingsModelInteger; import org.knime.core.node.defaultnodesettings.SettingsModelString; final class ImgWriter2SettingsModels { /** * CONSTANTS */ static final String DIRHISTORY_KEY = "imagewriterdirhistory"; /** * SETTINGS MODELS */ /** * @return Model to store the Img Column. */ static SettingsModelString createImgColumnModel() { return new SettingsModelString("img_column_key", ""); } /** * @return Model to store the directory settings. */ static SettingsModelString createDirectoryModel() { return new SettingsModelString("directory_key", "") { @Override protected void validateSettingsForModel(NodeSettingsRO settings) throws InvalidSettingsException { if (settings.getString("directory_key").equals("")) { throw new InvalidSettingsException( "Output directory must not be empty!"); } super.validateSettingsForModel(settings); } }; } /** * @return Model to store if non existing directories are created. */ static SettingsModelBoolean createForceDirCreationModel() { return new SettingsModelBoolean("forceMKDIR_key", false); } /** * @return Model to store the column of the file names. */ static SettingsModelColumnName createFileNameColumnModel() { return new SettingsModelColumnName("columnname_key", ""); } /** * @return Model to store if a custom file name is used. */ static SettingsModelBoolean createUseCustomFileNameModel() { return new SettingsModelBoolean("custom_filename_option_key", false); } /** * @return Model to store the custom file name. */ static SettingsModelString createCustomFileNameModel() { return new SettingsModelString("custom_filename_key", "image_"); } /** * @return Model to store the selected format. */ static SettingsModelString createFormatModel() { return new SettingsModelString("format_key", ""); } /** * @return Model to store the frame rate. */ static SettingsModelInteger createFrameRateModel() { return new SettingsModelInteger("framerate_key", 10); } /** * @return Model to store the compression settings. */ static SettingsModelString createCompressionModel() { return new SettingsModelString("compression_key", ""); } /** * @return Model to store if existing files are overwritten. */ static SettingsModelBoolean createOverwriteModel() { return new SettingsModelBoolean("overwrite_key", false); } /** * @return Model to store the Channel Mapping. */ static SettingsModelString createChannelMappingModel() { return new SettingsModelString("c_dim_mapping_key", "Channel"); } /** * @return Model to store the Z Mapping. */ static SettingsModelString createZMappingModel() { return new SettingsModelString("z_dim_mapping_key", "Z"); } /** * @return Model to store the Time Mapping. */ static SettingsModelString createTimeMappingModel() { return new SettingsModelString("t_dim_mapping_key", "Time"); } /** * @return Model to store the if the writers should write sequentially. */ static SettingsModelBoolean createWriteSequentiallyModel() { return new SettingsModelBoolean("write_sequential_key", true); } public static SettingsModelBoolean createAbsolutePathsModel() { return new SettingsModelBoolean("absolutePathsInFilename", false); } }