Class ResourceEditor<T>
- java.lang.Object
- 
- java.awt.Component
- 
- java.awt.Container
- 
- javax.swing.JComponent
- 
- javax.swing.JPanel
- 
- com.inductiveautomation.ignition.designer.tabbedworkspace.ResourceEditor<T>
 
 
 
 
 
- 
- All Implemented Interfaces:
- java.awt.image.ImageObserver,- java.awt.MenuContainer,- java.io.Serializable,- javax.accessibility.Accessible
 - Direct Known Subclasses:
- FallbackReadOnlyEditor,- NamedQueryResourceEditor,- ReportingResourceEditor,- ViewResourceEditor
 
 public abstract class ResourceEditor<T> extends javax.swing.JPanel- See Also:
- Serialized Form
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class javax.swing.JPaneljavax.swing.JPanel.AccessibleJPanel
 - 
Nested classes/interfaces inherited from class javax.swing.JComponentjavax.swing.JComponent.AccessibleJComponent
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected LoggerExlogprotected ResourcePathresourcePathprotected TabbedResourceWorkspaceworkspace- 
Fields inherited from class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
- 
 - 
Constructor SummaryConstructors Constructor Description ResourceEditor(TabbedResourceWorkspace workspace, ResourcePath path)
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcommit()Called when it's time to commit the resource being edited.protected LoggerExcreateLogger()protected Tdeserialize(byte[] bytes)Deserialize the byte[] inside of the project resource's data.bin file into the editing object type for this editor.protected Tdeserialize(ProjectResource resource)Deserialize a project resource into the editing object type for this editor.protected abstract TgetObjectForSave()Return the object that should be saved to represent this resource in the ProjectResource.protected TgetResource()ResourcePathgetResourcePath()java.lang.StringgetTabTitle()protected abstract voidinit(T object)protected booleanisOptimizeCommits()Override this and return true if you want commits to use equality on the resource objects to avoid un-necessary commits.protected voidloadResource(ProjectResource resource)protected voidonCommitFailed(java.lang.Exception ex)protected byte[]serialize(T o)Serializes the object using anXMLSerializer.protected voidserializeResource(ProjectResourceBuilder builder, T object)Serialize the object and put the serialized file(s) and attribute(s) into the project resource builder.voidupdateResource(ProjectResource resource)Call this when the resource changes due to project pulls- 
Methods inherited from class javax.swing.JPanelgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 - 
Methods inherited from class javax.swing.JComponentaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 - 
Methods inherited from class java.awt.Containeradd, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
 - 
Methods inherited from class java.awt.Componentaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, 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 Detail- 
workspaceprotected final TabbedResourceWorkspace workspace 
 - 
resourcePathprotected final ResourcePath resourcePath 
 - 
logprotected final LoggerEx log 
 
- 
 - 
Constructor Detail- 
ResourceEditorpublic ResourceEditor(TabbedResourceWorkspace workspace, ResourcePath path) 
 
- 
 - 
Method Detail- 
isOptimizeCommitsprotected boolean isOptimizeCommits() Override this and return true if you want commits to use equality on the resource objects to avoid un-necessary commits.
 - 
createLoggerprotected LoggerEx createLogger() 
 - 
loadResourceprotected void loadResource(ProjectResource resource) 
 - 
updateResourcepublic void updateResource(ProjectResource resource) Call this when the resource changes due to project pulls
 - 
initprotected abstract void init(T object) 
 - 
getResourcePathpublic ResourcePath getResourcePath() 
 - 
getResourceprotected T getResource() 
 - 
getTabTitlepublic java.lang.String getTabTitle() 
 - 
getObjectForSaveprotected abstract T getObjectForSave() throws java.lang.Exception Return the object that should be saved to represent this resource in the ProjectResource. Will be serialized using an XMLSerializer. Override save() to serialize in a different manner.- Throws:
- java.lang.Exception
 
 - 
deserializeprotected T deserialize(ProjectResource resource) throws java.lang.Exception Deserialize a project resource into the editing object type for this editor. Default implementation simply calls this.deserialize(resource.getData()). Override this method if your resource does not use the default data.bin file.- Throws:
- java.lang.Exception
 
 - 
deserializeprotected T deserialize(byte[] bytes) throws java.lang.Exception Deserialize the byte[] inside of the project resource's data.bin file into the editing object type for this editor.Default implementation uses an XMLDeserializerto deserialize the byte[]. If you serialize your object differently, override this method.If you store your project resource in a different file or set of files, override deserialize(ProjectResource)instead.- Throws:
- java.lang.Exception
 
 - 
serializeprotected byte[] serialize(T o) throws java.lang.Exception Serializes the object using anXMLSerializer. If you want to serialize your object into a data.bin using a different encoding override this method.If you want to serialize your object into a different file or multiple files, override serializeResource(ProjectResourceBuilder, Object)instead.- Throws:
- java.lang.Exception
 
 - 
serializeResourceprotected void serializeResource(ProjectResourceBuilder builder, T object) throws java.lang.Exception Serialize the object and put the serialized file(s) and attribute(s) into the project resource builder. Default implementation is:builder.putData(serialize(object)); Implementations don't need to bother setting the project's resourcePath, projectName, or applicationScope; those will be set automatically.- Throws:
- java.lang.Exception
 
 - 
commitpublic void commit() Called when it's time to commit the resource being edited. Default implementation uses XML serialization. If you override, don't forget to call workspace.project().updateLock
 - 
onCommitFailedprotected void onCommitFailed(java.lang.Exception ex) 
 
- 
 
-