/*******************************************************************************
* Copyright (c) 2016 Rogue Wave Software, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Rogue Wave Software, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.plugin.zdb.server.expressions;
import java.util.List;
/**
* Common interface for Zend dbg expressions.
*
* @author Bartlomiej Laczkowski
*/
public interface IDbgExpression extends IDbgDataFacet, IDbgDataType {
/**
* Returns textual representation/statement for this expression.
*
* @return textual representation/statement for this expression
*/
public String getExpression();
/**
* Returns expressions chain (from entry expression to current expression).
*
* @return expressions chain (from entry expression to current expression)
*/
public List<String> getExpressionChain();
/**
* Returns expression value children.
*
* @return expression value children
*/
public List<IDbgExpression> getChildren();
/**
* Returns number of existing children.
*
* @return number of existing children
*/
public int getChildrenCount();
/**
* Returns expression value string.
*
* @return expression value string
*/
public String getValue();
/**
* Returns expression value string.
*
* @return expression value string
*/
public boolean setValue(String value);
/**
* Evaluates this expression (computes its value on engine side).
*/
public void evaluate();
}