Class PropertyHandleImpl

  • Direct Known Subclasses:
    PropertyHandle

    public class PropertyHandleImpl
    extends SimpleValueHandle
    A handle for working with a top-level property of an element.
    See Also:
    PropertyDefn, PropertyType
    • Field Detail

      • propDefn

        protected org.eclipse.birt.report.model.metadata.ElementPropertyDefn propDefn
        Definition of the property.
    • Constructor Detail

      • PropertyHandleImpl

        public PropertyHandleImpl​(DesignElementHandle element,
                                  java.lang.String propName)
        Constructs the handle for a top-level property with the given element handle and property name.
        Parameters:
        element - a handle to a report element
        propName - the name of the property
      • PropertyHandleImpl

        public PropertyHandleImpl​(DesignElementHandle element,
                                  org.eclipse.birt.report.model.metadata.ElementPropertyDefn prop)
        Constructs the handle for a top-level property with the given element handle and the definition of the property.
        Parameters:
        element - a handle to a report element
        prop - the definition of the property.
    • Method Detail

      • getPropertyDefn

        public IElementPropertyDefn getPropertyDefn()
        Description copied from class: ValueHandle
        Gets the property definition. This is the definition of the property that contains the specific value. If the value is a structure or member, then this is the definition of the property that contains the list that contains the structure that contains the member.
        Specified by:
        getPropertyDefn in class ValueHandle
        Returns:
        the property definition
      • getDefn

        public IPropertyDefn getDefn()
        Description copied from class: SimpleValueHandle
        Gets the generic property definition. Its a property definition for an element or a member definition for a structure.
        Specified by:
        getDefn in class SimpleValueHandle
        Returns:
        the value definition.
      • getRawValue

        protected java.lang.Object getRawValue()
        Description copied from class: SimpleValueHandle
        Gets the value stored in the memory directly. The returned value won't be done any conversion.
        Specified by:
        getRawValue in class SimpleValueHandle
        Returns:
        the value stored in the memory
      • getContext

        public org.eclipse.birt.report.model.core.StructureContext getContext()
        Description copied from class: ValueHandle
        Returns the structure context to the value. The context is used to identify a list entry or member.
        Specified by:
        getContext in class ValueHandle
      • isSet

        public boolean isSet()
        Determines whether this property value is set for this element. It is set if it is defined on this element property or any of its parents, or in the element's private style property. It is considered unset if it is set on a shared style.
        Returns:
        true if the value is set, false if it is not set
      • isLocal

        public boolean isLocal()
        Determines whether this property value is set locally for this element. It is set if and only if it is defined on this element local property.
        Returns:
        true if the local value is set, otherwise false.
      • equals

        public boolean equals​(java.lang.Object propertyHandle)
        Returns true if the two property handle has the same element and the same property.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        propertyHandle - the property handle
        Returns:
        true if the two property handles are same.
      • getReferenceableElementList

        public java.util.List getReferenceableElementList()
        returns the element reference value list if the property is element referenceable type.
        Returns:
        list of the reference element value.
      • addItem

        public void addItem​(java.lang.Object item)
                     throws SemanticException
        Description copied from class: SimpleValueHandle
        Adds an item to the end of a list property. The handle must be working on a list property.
        Specified by:
        addItem in class SimpleValueHandle
        Parameters:
        item - The new item to add.
        Throws:
        SemanticException - If the property is not a list property, or if the the value of the item is incorrect.
      • add

        public void add​(DesignElementHandle content)
                 throws SemanticException
        Adds a report item to the property with the given element handle. The report item must not be newly created and not yet added to the design.
        Parameters:
        content - handle to the newly created element
        Throws:
        SemanticException - if the element is not allowed to insert
      • add

        public void add​(DesignElementHandle content,
                        int newPos)
                 throws SemanticException
        Adds a report item to this property at the given position. The item must not be newly created and not yet added to the design.
        Parameters:
        content - handle to the newly created element
        newPos - the position index at which the content to be inserted, 0-based integer
        Throws:
        SemanticException - if the element is not allowed to insert
      • paste

        public java.util.List paste​(DesignElementHandle content)
                             throws SemanticException
        Pastes a report item to this property. The item must be newly created and not yet added to the design.
        Parameters:
        content - the newly created element handle
        Returns:
        a list containing all errors for the pasted element
        Throws:
        SemanticException - if the element is not allowed to paste
      • paste

        public java.util.List paste​(IDesignElement content)
                             throws SemanticException
        Pastes a report item to this property. The item must be newly created and not yet added to the design.
        Parameters:
        content - the newly created element
        Returns:
        a list containing all errors for the pasted element
        Throws:
        SemanticException - if the element is not allowed to paste
      • paste

        public java.util.List paste​(DesignElementHandle content,
                                    int newPos)
                             throws SemanticException
        Pastes a report item to the slot. The item must be newly created and not yet added to the design.
        Parameters:
        content - the newly created element handle
        newPos - the position index at which the content to be inserted.
        Returns:
        a list containing all errors for the pasted element
        Throws:
        SemanticException - if the element is not allowed in the slot
      • paste

        public java.util.List paste​(IDesignElement content,
                                    int newPos)
                             throws SemanticException
        Pastes a report item to the property. The item must be newly created and not yet added to the design.
        Parameters:
        content - the newly created element
        newPos - the position index at which the content to be inserted.
        Returns:
        a list containing all errors for the pasted element
        Throws:
        SemanticException - if the element is not allowed in the property
      • getListValue

        public java.util.ArrayList getListValue()
        Description copied from class: SimpleValueHandle
        Gets the value as a list.
        Overrides:
        getListValue in class SimpleValueHandle
        Returns:
        The value as a list. Returns null if the value cannot be converted to a list.
      • getContents

        public java.util.List getContents()
        Returns the a list with contents.Items are handles to the contents and in order by position.
        Returns:
        a list with property contents, items of the list are handles to the contents.
      • getContentCount

        public int getContentCount()
        Returns the number of elements in the property.
        Returns:
        the count of contents in the property
      • shift

        public void shift​(DesignElementHandle content,
                          int toPosn)
                   throws ContentException
        Moves the position of a content element within the slot.
        Parameters:
        content - handle to the content to move
        toPosn - the new position
        Throws:
        ContentException - if the content is not in the slot, or if the to position is not valid.
      • move

        public void move​(DesignElementHandle content,
                         DesignElementHandle newContainer,
                         java.lang.String propName)
                  throws ContentException
        Moves a content element into a slot in another container element.
        Parameters:
        content - a handle to the element to move
        newContainer - a handle to the new container element
        propName - the target property name where the element will be moved to.
        Throws:
        ContentException - if the content is not in this slot or if the new container is not, in fact, a container, or if the content cannot go into the target slot.
      • move

        public void move​(DesignElementHandle content,
                         DesignElementHandle newContainer,
                         java.lang.String propName,
                         int newPos)
                  throws ContentException
        Moves a content element into a slot in another container element at the specified position.
        Parameters:
        content - a handle to the element to move
        newContainer - a handle to the new container element
        propName - the target property name where the element will be moved to.
        newPos - the position to which the content will be moved. If it is greater than the current size of the target slot, the content will be appended at the end of the target slot.
        Throws:
        ContentException - if the content is not in this slot or if the new container is not, in fact, a container, or if the content cannot go into the target slot.
      • dropAndClear

        public void dropAndClear​(DesignElementHandle content)
                          throws SemanticException
        Drops a content element from the slot, and clear any reference property which refers the element to drop.
        Parameters:
        content - a handle to the content to drop
        Throws:
        SemanticException - if the content is not within the slot
      • drop

        public void drop​(DesignElementHandle content)
                  throws SemanticException
        Drops a content element from the slot, and unresolve any reference property which refers the element to drop.
        Parameters:
        content - a handle to the content to drop
        Throws:
        SemanticException - if the content is not within the slot
      • dropAndClear

        public void dropAndClear​(int posn)
                          throws SemanticException
        Drops a content element at the given position from the slot, and clear any reference property which refers the element to drop.
        Parameters:
        posn - the position of the content to drop
        Throws:
        SemanticException - if the position is out of range
      • drop

        public void drop​(int posn)
                  throws SemanticException
        Drops a content element at the given position from the slot, and unresolve any reference property which refers the element to drop.
        Parameters:
        posn - the position of the content to drop
        Throws:
        SemanticException - if the position is out of range
      • canContain

        public boolean canContain​(java.lang.String type)
        Determines if the slot can contain an element with the type of type.
        Parameters:
        type - the name of the element type, like "Table", "List", etc.
        Returns:
        true if the slot can contain the an element with type type, otherwise false.
      • canContain

        public boolean canContain​(DesignElementHandle content)
        Determines if the given slot can contain the content.
        Parameters:
        content - the design element handle to check
        Returns:
        true if the slot with the given slotId can contain the content, otherwise false.
      • getContent

        public DesignElementHandle getContent​(int posn)
        Gets the content at the given position.
        Parameters:
        posn - the index where the content resides
        Returns:
        the corresponding element
      • getItems

        public java.util.List getItems()
        Description copied from class: SimpleValueHandle
        Gets the items of the list property. The handle must be working on a list property or member.
        Overrides:
        getItems in class SimpleValueHandle
        Returns:
        the list of items, or null if the property is not a list property.
      • isVisible

        public boolean isVisible()
        Description copied from class: SimpleValueHandle
        Checks whether a value is visible in the property sheet.
        Specified by:
        isVisible in class SimpleValueHandle
        Returns:
        true if it is visible. Otherwise false.
      • isReadOnly

        public boolean isReadOnly()
        Description copied from class: SimpleValueHandle
        Checks whether a value is read-only in the property sheet.
        Specified by:
        isReadOnly in class SimpleValueHandle
        Returns:
        true if it is read-only. Otherwise false.