/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.cids.custom.switchon.wizards; import org.openide.WizardDescriptor; import org.openide.util.NbBundle; import java.awt.Component; import java.io.File; import de.cismet.cids.custom.switchon.AbstractWizardPanel; /** * DOCUMENT ME! * * @author martin.scholl@cismet.de * @version $Revision$, $Date$ */ public final class WizardPanelFileExport extends AbstractWizardPanel { //~ Static fields/initializers --------------------------------------------- public static final String PROP_EXPORT_FILE = "__prop_export_file__"; // NOI18N //~ Instance fields -------------------------------------------------------- private transient File exportFile; //~ Methods ---------------------------------------------------------------- @Override protected Component createComponent() { return new VisualPanelFileExport(this); } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public File getExportFile() { return exportFile; } /** * DOCUMENT ME! * * @param exportFile DOCUMENT ME! */ public void setExportFile(final File exportFile) { this.exportFile = exportFile; changeSupport.fireChange(); } @Override protected void read(final WizardDescriptor wizard) { exportFile = (File)wizard.getProperty(PROP_EXPORT_FILE); ((VisualPanelFileExport)getComponent()).init(); } @Override protected void store(final WizardDescriptor wizard) { wizard.putProperty(PROP_EXPORT_FILE, exportFile); } @Override public boolean isValid() { if (exportFile == null) { wizard.putProperty( WizardDescriptor.PROP_INFO_MESSAGE, NbBundle.getMessage( WizardPanelFileExport.class, "WizardPanelFileExport.isValid().chooseFile")); // NOI18N return false; } else { wizard.putProperty(WizardDescriptor.PROP_INFO_MESSAGE, null); if (exportFile.exists()) { if (exportFile.isFile()) { wizard.putProperty(WizardDescriptor.PROP_INFO_MESSAGE, null); if (exportFile.canWrite()) { wizard.putProperty(WizardDescriptor.PROP_WARNING_MESSAGE, null); return true; } else { wizard.putProperty( WizardDescriptor.PROP_WARNING_MESSAGE, NbBundle.getMessage( WizardPanelFileExport.class, "WizardPanelFileExport.isValid().notWritable")); // NOI18N return false; } } else { wizard.putProperty( WizardDescriptor.PROP_INFO_MESSAGE, NbBundle.getMessage( WizardPanelFileExport.class, "WizardPanelFileExport.isValid().chooseFile")); // NOI18N return false; } } else { wizard.putProperty(WizardDescriptor.PROP_INFO_MESSAGE, null); wizard.putProperty(WizardDescriptor.PROP_WARNING_MESSAGE, null); return true; } } } }