Class AnnotatedProperty

  • All Implemented Interfaces:
    com.jidesoft.converter.ConverterContextSupport, com.jidesoft.grid.EditorContextSupport, com.jidesoft.grid.EditorStyleSupport, com.jidesoft.grid.Expandable, com.jidesoft.grid.ExpandableCell, com.jidesoft.grid.ExpandableRow, com.jidesoft.grid.Node, com.jidesoft.grid.Row, java.io.Serializable, java.lang.Comparable<com.jidesoft.grid.Property>

    public class AnnotatedProperty
    extends com.jidesoft.grid.Property
    This is a com.jidesoft.grid.Property that represents a beans-style property from an RMShape that has been annotated with the @ShapeProperty annotation.

    Created by carl.gould on 4/22/2015.

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  AnnotatedProperty.OwnedAnnotation<T extends java.lang.annotation.Annotation>
      Just a wrapper around an annotation instance to keep track of which method that annotation was found on
    • Field Summary

      • Fields inherited from class com.jidesoft.grid.Property

        _category, _converter, _converterContext, _description, _displayName, _editable, _editorContext, _expert, _focusDisplayName, _hidden, _indentNonCategoryRow, _isCategoryRow, _name, _preferred, _required, _type, PROPERTY_CATEGORY, PROPERTY_CONVERTER_CONTEXT, PROPERTY_DEPENDING_PROPERTIES, PROPERTY_DESCRIPTION, PROPERTY_DISPLAY_NAME, PROPERTY_EDITABLE, PROPERTY_EDITOR_CONTEXT, PROPERTY_EXPERT, PROPERTY_FOCUS_DISPLAY_NAME, PROPERTY_HIDDEN, PROPERTY_NAME, PROPERTY_PREFERRED, PROPERTY_REQUIRED, PROPERTY_TYPE, PROPERTY_VALUE
      • Fields inherited from class com.jidesoft.grid.DefaultExpandable

        _children, EMPTY_ENUMERATION, PROPERTY_CHILDREN
      • Fields inherited from class com.jidesoft.grid.AbstractExpandable

        _expandable, _expanded
      • Fields inherited from class com.jidesoft.grid.AbstractNode

        _parent, PROPERTY_PARENT
      • Fields inherited from interface com.jidesoft.grid.Expandable

        PROPERTY_EXPANDABLE, PROPERTY_EXPANDED
      • Fields inherited from interface com.jidesoft.grid.Node

        PROPERTY_ADJUSTING
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getBindingPropertyName()  
      java.lang.String getRelativeDataKey​(java.lang.String key)  
      RMShape getShape()  
      java.lang.Object getValue()  
      boolean hasValue()  
      boolean isBindingCompatible()  
      boolean isBound()  
      boolean isDatasetKey()  
      static java.util.List<AnnotatedProperty> loadProperties​(ReportingResourceEditor editor, RMShape shape, java.util.List<RMObject> others)
      Reflectively looks at the class of the given object and turns any properties annotated with ShapeProperty into JIDE property table properties.
      void notifyDrivingPropChanged​(java.lang.Object newValue)
      Called for properties that are dependent on other properties.
      void notifyPropChanged()
      Called when the underlying shape has fired a change for this property.
      void setBinding​(java.lang.String binding)  
      void setOrderBelow​(java.lang.String value)  
      void setup()  
      void setValue​(java.lang.Object o)  
      • Methods inherited from class com.jidesoft.grid.Property

        addDependingProperty, addDependingProperty, clearDependingProperties, compareTo, getCategory, getCellEditor, getCellEditor, getConverterContext, getDependingProperties, getDescription, getDisplayName, getEditorContext, getEditorStyle, getFocusDisplayName, getFullName, getLevel, getName, getTableCellRenderer, getTableCellRenderer, getType, getValueAt, isCategoryRow, isEditable, isEditorStyleSupported, isExpert, isHidden, isIndentNonCategoryRow, isPreferred, isRequired, removeDependingProperty, setCategory, setCategoryRow, setCellEditor, setConverterContext, setDescription, setDisplayName, setEditable, setEditorContext, setEditorStyle, setExpert, setFocusDisplayName, setHidden, setIndentNonCategoryRow, setName, setPreferred, setRequired, setTableCellRenderer, setType
      • Methods inherited from class com.jidesoft.grid.DefaultExpandableRow

        cellUpdated, getCellClassAt, getConverterContextAt, getEditorContextAt, isCellEditable, notifyCellUpdated, rowUpdated, setValueAt
      • Methods inherited from class com.jidesoft.grid.DefaultExpandable

        breadthFirstEnumeration, depthFirstEnumeration, getChildren, postorderEnumeration, preorderEnumeration, setChildren
      • Methods inherited from class com.jidesoft.grid.AbstractExpandable

        addChild, addChild, addChildren, getAllChildrenCount, getAllVisibleChildrenCount, getChildAt, getChildIndex, getChildrenCount, getExpandableTreeTableModel, getNumberOfVisibleChildren, getNumberOfVisibleExpandable, getTreeTableModel, hasChildren, hasVisibleChildren, isAdjusting, isExpandable, isExpanded, moveDownChild, moveUpChild, notifyChildDeleted, notifyChildInserted, notifyChildrenDeleted, notifyChildrenInserted, notifyChildrenUpdated, notifyChildUpdated, removeAllChildren, removeChild, removeChildren, setAdjusting, setExpandable, setExpanded
      • Methods inherited from class com.jidesoft.grid.AbstractNode

        addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getNextSibling, getParent, getPreviousSibling, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener, setParent
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.jidesoft.grid.Expandable

        addChild, addChild, addChildren, getAllVisibleChildrenCount, getChildAt, getChildIndex, getChildren, getChildrenCount, getNumberOfVisibleExpandable, hasChildren, isExpandable, isExpanded, moveDownChild, moveUpChild, notifyChildDeleted, notifyChildInserted, notifyChildrenDeleted, notifyChildrenInserted, notifyChildrenUpdated, notifyChildUpdated, removeAllChildren, removeChild, removeChildren, setChildren, setExpandable, setExpanded
      • Methods inherited from interface com.jidesoft.grid.Node

        getNextSibling, getParent, getPreviousSibling, setParent
    • Method Detail

      • loadProperties

        public static java.util.List<AnnotatedProperty> loadProperties​(ReportingResourceEditor editor,
                                                                       RMShape shape,
                                                                       java.util.List<RMObject> others)
        Reflectively looks at the class of the given object and turns any properties annotated with ShapeProperty into JIDE property table properties.
        Returns:
        List of AnnotatedProperty's, not null
      • getRelativeDataKey

        public java.lang.String getRelativeDataKey​(java.lang.String key)
      • setBinding

        public void setBinding​(java.lang.String binding)
      • setup

        public void setup()
      • getShape

        public RMShape getShape()
      • notifyPropChanged

        public void notifyPropChanged()
        Called when the underlying shape has fired a change for this property. Compound properties use this as a chance to re-build themselves.
      • notifyDrivingPropChanged

        public void notifyDrivingPropChanged​(java.lang.Object newValue)
        Called for properties that are dependent on other properties. For example, if a property should only be enabled if another property is true, then this will be called whenever the driving property changes.
      • getBindingPropertyName

        public java.lang.String getBindingPropertyName()
      • setOrderBelow

        public void setOrderBelow​(java.lang.String value)
      • isBindingCompatible

        public boolean isBindingCompatible()
      • isDatasetKey

        public boolean isDatasetKey()
      • isBound

        public boolean isBound()
      • hasValue

        public boolean hasValue()
        Overrides:
        hasValue in class com.jidesoft.grid.Property
      • setValue

        public void setValue​(java.lang.Object o)
        Specified by:
        setValue in class com.jidesoft.grid.Property
      • getValue

        public java.lang.Object getValue()
        Specified by:
        getValue in class com.jidesoft.grid.Property