📄 outputconverterplugin.java
字号:
package org.joone.util;import org.joone.engine.*;import org.joone.net.*;import java.util.*;import java.io.*;import org.joone.log.*;/** * Abstract class that must be extended to implement plugins for output data preprocessing. * The objects extending this class can be inserted into objects that extend the * {@link org.joone.io.StreamOutputSynapse}. * * @author Julien Norman */public abstract class OutputConverterPlugIn extends AbstractConverterPlugIn { /** For converting on a one pattern basis. */ private transient Pattern conv_pattern; private static final long serialVersionUID = 1698511686417967414L; /** The logger for this class. */ private static final ILogger log = LoggerFactory.getLogger( OutputConverterPlugIn.class ); /** * Constructor of CoverterPlugIn. */ public OutputConverterPlugIn() { } /** * Constructor of CoverterPlugIn. * * @param anAdvancedSerieSelector * @see AbstractConverterPlugIn#AbstractConverterPlugIn(String) */ public OutputConverterPlugIn(String anAdvancedSerieSelector) { super(anAdvancedSerieSelector); } /** * Applies the preprocessing on the Nth serie of the data. This method should be * implemented in classes that extend this one. * * @param serie the serie to be converted */ protected abstract void convert_pattern(int serie); /** * Applies the preprocessing on the patterns contained in the conv_patterns */ public void convertPattern() throws NumberFormatException { // Use Advanced Serie Selector to select the serie to convert if((getAdvancedSerieSelector() != null ) && (!getAdvancedSerieSelector().equals(new String(""))) ) { try { int [] mySerieSelected = getSerieSelected(); for(int i = 0; i < mySerieSelected.length; i++) { convert_pattern(mySerieSelected[i]-1); } } catch (NumberFormatException nfe) { throw new NumberFormatException(nfe.getMessage()); } } else log.warn(getName()+" : Advanced Serie Selector not populated therefore converting no data."); // Recurrent call to other connected plugins if (getNextPlugIn() != null) { OutputConverterPlugIn myPlugIn = (OutputConverterPlugIn)getNextPlugIn(); myPlugIn.setPattern(getPattern()); myPlugIn.convertPattern(); } } /** * Applies the preprocessing on the pattern contained in the conv_pattern * @deprecated Use {@link AbstractConverterPlugIn#convertPatterns()} */ public void convertAllPatterns() throws NumberFormatException { convertPatterns(); } /** * Gets the pattern that will be converted. * @return the Pattern to convert when in unbuffered mode */ protected Pattern getPattern() { return conv_pattern; } /** Sets the current pattern to convert. * @param newPattern The pattern that should be converted by this plugin. */ public void setPattern(Pattern newPattern) { conv_pattern = newPattern; } /** * @deprecated Use {@link AbstractConverterPlugIn#addPlugInListener(PlugInListener)} */ public synchronized void addOutputPluginListener(OutputPluginListener aListener) { addPlugInListener(aListener); } /** * @deprecated Use {@link AbstractConverterPlugIn#removePlugInListener(PlugInListener)} */ public synchronized void removeOutputPluginListener(OutputPluginListener aListener) { removePlugInListener(aListener); } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); // To maintain the compatibility with the old saved classes if (getAdvancedSerieSelector() == null) setAdvancedSerieSelector(new String("1")); if (getName() == null) setName("OutputPlugin 9"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -