Package weka.gui.beans
Class SerializedModelSaver
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.SerializedModelSaver
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,EnvironmentHandler
,BatchClassifierListener
,BatchClustererListener
,BeanCommon
,IncrementalClassifierListener
,Visible
@KFStep(category="DataSinks",
toolTipText="Save a batch or incremental model to file")
public class SerializedModelSaver
extends JPanel
implements BeanCommon, Visible, BatchClassifierListener, IncrementalClassifierListener, BatchClustererListener, EnvironmentHandler, Serializable
A bean that saves serialized models
- Version:
- $Revision: 15230 $
- Author:
- Mark Hall (mhall{[at]}pentaho{[dot]}org
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final String
the extension for serialized models (binary Java serialization)static final int
Available file formats.static final int
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Accept and save a batch trained classifier.void
Accept and save an incrementally trained classifier.void
Accept and save a batch trained clusterer.boolean
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor.boolean
connectionAllowed
(String eventName) Returns true if, at this time, the object will accept a connection according to the supplied event name.void
connectionNotification
(String eventName, Object source) Notify this object that it has been registered as a listener with a source with respect to the supplied event name.void
disconnectionNotification
(String eventName, Object source) Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name.Get the custom (descriptive) name for this bean (if one has been set)Get the directory that the model(s) will be saved intoGet the file format to use for saving.boolean
Get whether the relation name of the training data used to create the model is to be included in the filename of the serialized model.int
Get how often to save incremental models.Get the prefix to prepend to the model file names.boolean
Get whether to use relative paths for the directory.Get the visual being used by this data source.Global info for this bean.boolean
isBusy()
Returns true if.static void
saveBinary
(File saveTo, Object model, Instances header) Save a model in binary form.static void
Save a model in KOML deep object serialized XML form.static void
saveXStream
(File saveTo, Object model, Instances header) Save a model in XStream deep object serialized XML form.void
setCustomName
(String name) Set a custom (descriptive) name for this beanvoid
setDirectory
(File d) Set the directory that the model(s) will be saved into.void
Set environment variables to use.void
setFileFormat
(Tag ff) Set the file format to use for saving.void
setIncludeRelationName
(boolean rn) Set whether the relation name of the training data used to create the model should be included as part of the filename for the serialized model.void
setIncrementalSaveSchedule
(int s) Set how often to save incremental models.void
Set a log for this bean.void
Set the prefix to prepend to the model file names.void
setUseRelativePath
(boolean rp) Set whether to use relative paths for the directory.void
setVisual
(BeanVisual newVisual) Set the visual for this data source.void
stop()
Stop any processing that the bean might be doing.void
Use the default images for this bean.Validate the file format.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
BINARY
public static final int BINARY- See Also:
-
KOMLV
public static final int KOMLV- See Also:
-
XSTREAM
public static final int XSTREAM- See Also:
-
FILE_EXTENSION
the extension for serialized models (binary Java serialization)- See Also:
-
s_fileFormatsAvailable
Available file formats. Reflection is used to check if classes are available for deep object serialization to XML
-
-
Constructor Details
-
SerializedModelSaver
public SerializedModelSaver()Constructor.
-
-
Method Details
-
setCustomName
Set a custom (descriptive) name for this bean- Specified by:
setCustomName
in interfaceBeanCommon
- Parameters:
name
- the name to use
-
getCustomName
Get the custom (descriptive) name for this bean (if one has been set)- Specified by:
getCustomName
in interfaceBeanCommon
- Returns:
- the custom name (or the default name)
-
useDefaultVisual
public void useDefaultVisual()Use the default images for this bean.- Specified by:
useDefaultVisual
in interfaceVisible
-
setVisual
Set the visual for this data source. -
getVisual
Get the visual being used by this data source. -
connectionAllowed
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor.- Specified by:
connectionAllowed
in interfaceBeanCommon
- Parameters:
esd
- the EventSetDescriptor- Returns:
- true if the object will accept a connection
-
connectionAllowed
Returns true if, at this time, the object will accept a connection according to the supplied event name.- Specified by:
connectionAllowed
in interfaceBeanCommon
- Parameters:
eventName
- the event- Returns:
- true if the object will accept a connection
-
connectionNotification
Notify this object that it has been registered as a listener with a source with respect to the supplied event name.- Specified by:
connectionNotification
in interfaceBeanCommon
- Parameters:
eventName
- the eventsource
- the source with which this object has been registered as a listener
-
disconnectionNotification
Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name.- Specified by:
disconnectionNotification
in interfaceBeanCommon
- Parameters:
eventName
- the eventsource
- the source with which this object has been registered as a listener
-
setLog
Set a log for this bean.- Specified by:
setLog
in interfaceBeanCommon
- Parameters:
logger
- aweka.gui.Logger
value
-
stop
public void stop()Stop any processing that the bean might be doing.- Specified by:
stop
in interfaceBeanCommon
-
isBusy
public boolean isBusy()Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).- Specified by:
isBusy
in interfaceBeanCommon
- Returns:
- true if the bean is busy.
-
acceptClusterer
Accept and save a batch trained clusterer.- Specified by:
acceptClusterer
in interfaceBatchClustererListener
- Parameters:
ce
- aBatchClassifierEvent
value
-
acceptClassifier
Accept and save an incrementally trained classifier.- Specified by:
acceptClassifier
in interfaceIncrementalClassifierListener
- Parameters:
ce
- the BatchClassifierEvent containing the classifier
-
acceptClassifier
Accept and save a batch trained classifier.- Specified by:
acceptClassifier
in interfaceBatchClassifierListener
- Parameters:
ce
- the BatchClassifierEvent containing the classifier
-
saveBinary
Save a model in binary form.- Parameters:
saveTo
- the file name to save tomodel
- the model to saveheader
- the header of the data that was used to train the model (optional)- Throws:
IOException
-
saveKOML
Save a model in KOML deep object serialized XML form.- Parameters:
saveTo
- the file name to save tomodel
- the model to saveheader
- the header of the data that was used to train the model (optional)- Throws:
Exception
-
saveXStream
Save a model in XStream deep object serialized XML form.- Parameters:
saveTo
- the file name to save tomodel
- the model to saveheader
- the header of the data that was used to train the model (optional)- Throws:
Exception
-
getDirectory
Get the directory that the model(s) will be saved into- Returns:
- the directory to save to
-
setDirectory
Set the directory that the model(s) will be saved into.- Parameters:
d
- the directory to save to
-
setUseRelativePath
public void setUseRelativePath(boolean rp) Set whether to use relative paths for the directory. I.e. relative to the startup (user.dir) directory- Parameters:
rp
- true if relative paths are to be used
-
getUseRelativePath
public boolean getUseRelativePath()Get whether to use relative paths for the directory. I.e. relative to the startup (user.dir) directory- Returns:
- true if relative paths are to be used
-
setIncludeRelationName
public void setIncludeRelationName(boolean rn) Set whether the relation name of the training data used to create the model should be included as part of the filename for the serialized model.- Parameters:
rn
- true if the relation name should be included in the file name
-
getIncludeRelationName
public boolean getIncludeRelationName()Get whether the relation name of the training data used to create the model is to be included in the filename of the serialized model.- Returns:
- true if the relation name is to be included in the file name
-
getPrefix
Get the prefix to prepend to the model file names.- Returns:
- the prefix to prepend
-
setPrefix
Set the prefix to prepend to the model file names.- Parameters:
p
- the prefix to prepend
-
setIncrementalSaveSchedule
public void setIncrementalSaveSchedule(int s) Set how often to save incremental models. <= 0 means only at the end of the stream- Parameters:
s
- how often to save (after every s instances)
-
getIncrementalSaveSchedule
public int getIncrementalSaveSchedule()Get how often to save incremental models. <= 0 means only at the end of the stream- Returns:
- how often to save (after every s instances)
-
globalInfo
Global info for this bean. Gets displayed in the GUI.- Returns:
- information about this bean.
-
setFileFormat
Set the file format to use for saving.- Parameters:
ff
- the file format to use
-
getFileFormat
Get the file format to use for saving.- Returns:
- the file format to use
-
validateFileFormat
Validate the file format. After this bean is deserialized, classes for XML serialization may not be in the classpath any more.- Parameters:
ff
- the current file format to validate
-
setEnvironment
Set environment variables to use.- Specified by:
setEnvironment
in interfaceEnvironmentHandler
- Parameters:
env
- the environment variables to use
-