Class BslIndexedVariablePartition

java.lang.Object
org.eclipse.core.runtime.PlatformObject
com._1c.g5.v8.dt.internal.debug.ui.variables.BslIndexedVariablePartition
All Implemented Interfaces:
IBslVariable, IRuntimeDebugElement, IValueTypedModification, org.eclipse.core.runtime.IAdaptable, org.eclipse.debug.core.model.IDebugElement, org.eclipse.debug.core.model.IValueModification, org.eclipse.debug.core.model.IVariable

public class BslIndexedVariablePartition extends org.eclipse.core.runtime.PlatformObject implements IBslVariable
A variable containing a range of values from an indexed value.

This is actually non-existing possible property of BSL value, and can exist only as UI support for value representation.

  • Constructor Details

    • BslIndexedVariablePartition

      public BslIndexedVariablePartition(IBslIndexedValue value)
      Creates a partition for an indexed value.
      Parameters:
      value - the indexed value, cannot be null
  • Method Details

    • getModelIdentifier

      public String getModelIdentifier()
      Specified by:
      getModelIdentifier in interface org.eclipse.debug.core.model.IDebugElement
    • getDebugTarget

      public IRuntimeDebugClientTarget getDebugTarget()
      Description copied from interface: IRuntimeDebugElement
      Returns 1C:Enterprise Runtime debug target this element is contained in.
      Specified by:
      getDebugTarget in interface org.eclipse.debug.core.model.IDebugElement
      Specified by:
      getDebugTarget in interface IRuntimeDebugElement
      Returns:
      1C:Enterprise Runtime debug target this element is contained in, never null
    • getLaunch

      public org.eclipse.debug.core.ILaunch getLaunch()
      Specified by:
      getLaunch in interface org.eclipse.debug.core.model.IDebugElement
    • setValue

      public void setValue(String expression) throws org.eclipse.debug.core.DebugException
      Specified by:
      setValue in interface org.eclipse.debug.core.model.IValueModification
      Throws:
      org.eclipse.debug.core.DebugException
    • setValue

      public void setValue(org.eclipse.debug.core.model.IValue value)
      Description copied from interface: IBslVariable
      Sets the value of this variable to the given value.
      Specified by:
      setValue in interface IBslVariable
      Specified by:
      setValue in interface org.eclipse.debug.core.model.IValueModification
      Parameters:
      value - a new value, cannot be null
    • setTypedValue

      public <T> void setTypedValue(T value) throws org.eclipse.debug.core.DebugException
      Description copied from interface: IValueTypedModification
      Attempts to set the value and the type of this variable with the given type modification.
      Specified by:
      setTypedValue in interface IValueTypedModification
      Parameters:
      value - the new value, cannot be null
      Throws:
      org.eclipse.debug.core.DebugException - if modification fails
    • supportsValueModification

      public boolean supportsValueModification()
      Specified by:
      supportsValueModification in interface org.eclipse.debug.core.model.IValueModification
    • verifyValue

      public boolean verifyValue(String expression) throws org.eclipse.debug.core.DebugException
      Specified by:
      verifyValue in interface org.eclipse.debug.core.model.IValueModification
      Throws:
      org.eclipse.debug.core.DebugException
    • verifyValue

      public boolean verifyValue(org.eclipse.debug.core.model.IValue value) throws org.eclipse.debug.core.DebugException
      Specified by:
      verifyValue in interface org.eclipse.debug.core.model.IValueModification
      Throws:
      org.eclipse.debug.core.DebugException
    • verifyTypedValue

      public <T> boolean verifyTypedValue(T value) throws org.eclipse.debug.core.DebugException
      Description copied from interface: IValueTypedModification
      Returns whether the given type modification is valid to be used in setting a new value and type for this variable.
      Specified by:
      verifyTypedValue in interface IValueTypedModification
      Parameters:
      value - the new value, cannot be null
      Throws:
      org.eclipse.debug.core.DebugException - if verification fails
    • getValue

      public IBslValue getValue()
      Description copied from interface: IBslVariable
      Returns the BSL value of this variable.
      Specified by:
      getValue in interface IBslVariable
      Specified by:
      getValue in interface org.eclipse.debug.core.model.IVariable
      Returns:
      the variable BSL value, never null
    • getName

      public String getName()
      Description copied from interface: IBslVariable
      Returns the BSL variable name.
      Specified by:
      getName in interface IBslVariable
      Specified by:
      getName in interface org.eclipse.debug.core.model.IVariable
      Returns:
      the BSL variable name, cannot be null
    • getReferenceTypeName

      public String getReferenceTypeName() throws org.eclipse.debug.core.DebugException
      Specified by:
      getReferenceTypeName in interface org.eclipse.debug.core.model.IVariable
      Throws:
      org.eclipse.debug.core.DebugException
    • hasValueChanged

      public boolean hasValueChanged() throws org.eclipse.debug.core.DebugException
      Specified by:
      hasValueChanged in interface org.eclipse.debug.core.model.IVariable
      Throws:
      org.eclipse.debug.core.DebugException
    • getUuid

      public UUID getUuid()
      Description copied from interface: IBslVariable
      Returns root expression evaluation UUID for this variable.

      1C:Enterprise Runtime stores entire expression evaluation and client can access to child value nodes by the same UUID.

      Specified by:
      getUuid in interface IBslVariable
      Returns:
      the evaluation UUID of this variable, never null
    • getStackFrame

      public IBslStackFrame getStackFrame()
      Description copied from interface: IBslVariable
      Returns the parent 1C:Enterprise Runtime stack frame, that holds for this variable.
      Specified by:
      getStackFrame in interface IBslVariable
      Returns:
      the parent stack frame for this variable, never null
    • toWatchExpression

      public String toWatchExpression()
      Description copied from interface: IBslVariable
      Returns a String watch expression which evaluation result is equal to this BSL variable, that can be evaluated in 1C:Enterprise Runtime debug server.

      Can return null if this variable cannot be evaluated as string expression.

      Specified by:
      toWatchExpression in interface IBslVariable
      Returns:
      watch expression, equals to this BSL variable, that can be evaluated in 1C:Enterprise Runtime debug server or null if this variable cannot be evaluated as string expression
    • evaluate

      public void evaluate() throws org.eclipse.debug.core.DebugException
      Description copied from interface: IBslVariable
      Evaluates this BSL variable through connected 1C:Enterprise Runtime debug server. The IBslVariable fires a debug change event when the evaluation is complete.

      Note that implementation is intended to be asynchronous to avoid blocking the calling thread.

      Specified by:
      evaluate in interface IBslVariable
      Throws:
      org.eclipse.debug.core.DebugException - if evaluation fails
    • isEvaluated

      public boolean isEvaluated()
      Description copied from interface: IBslVariable
      Returns whether the actual value of this BSL variable is already fully evaluated.
      Specified by:
      isEvaluated in interface IBslVariable
      Returns:
      whether the actual value of this BSL value is already fully evaluated
    • reevaluate

      public IEvaluationChain reevaluate()
      Description copied from interface: IBslVariable
      Computes and returns the evaluation chain to evaluate for this variable update. Evaluation chain includes already evaluated children evaluation requests.

      Note, that an evaluation chain is a description of evaluation requests, and it needs to be exetuted by the IEvaluationEngine for actual value update.

      Specified by:
      reevaluate in interface IBslVariable
      Returns:
      the evaluation chain to evaluate for this variable update, never null
      See Also:
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object