/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
*/
package jalview.io;
+import jalview.api.AlignExportSettingI;
+import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
import jalview.util.MessageManager;
import java.io.BufferedReader;
public File inFile = null;
- public int index = 1; // sequence counter for FileParse object created from
+ /**
+ * a viewport associated with the current file operation. May be null. May
+ * move to different object.
+ */
+ private AlignViewportI viewport;
- // same data source
+ /**
+ * specific settings for exporting data from the current context
+ */
+ private AlignExportSettingI exportSettings;
+ /**
+ * sequence counter for FileParse object created from same data source
+ */
+ public int index = 1;
+
+ /**
+ * separator for extracting specific 'frame' of a datasource for formats that
+ * support multiple records (e.g. BLC, Stockholm, etc)
+ */
protected char suffixSeparator = '#';
/**
throw new IOException(MessageManager.formatMessage("exception.invalid_source_stream", new String[]{errormessage}));
}
+ /**
+ *
+ * @return true if this FileParse is configured for Export only
+ */
+ public boolean isExporting()
+ {
+ return !error && dataIn == null;
+ }
+
+ /**
+ *
+ * @return true if the data source is valid
+ */
public boolean isValid()
{
return !error;
}
return null;
}
+
+ public AlignViewportI getViewport()
+ {
+ return viewport;
+ }
+
+ public void setViewport(AlignViewportI viewport)
+ {
+ this.viewport = viewport;
+ }
+
+ /**
+ * @return the currently configured exportSettings for writing data.
+ */
+ public AlignExportSettingI getExportSettings()
+ {
+ return exportSettings;
+ }
+
+ /**
+ * Set configuration for export of data.
+ *
+ * @param exportSettings
+ * the exportSettings to set
+ */
+ public void setExportSettings(AlignExportSettingI exportSettings)
+ {
+ this.exportSettings = exportSettings;
+ }
+
+ /**
+ * method overridden by complex file exporter/importers which support
+ * exporting visualisation and layout settings for a view
+ *
+ * @param avpanel
+ */
+ public void configureForView(AlignmentViewPanel avpanel)
+ {
+ if (avpanel!=null) {
+ setViewport(avpanel.getAlignViewport());
+ }
+ // could also set export/import settings
+ }
}