using Microsoft.AnalysisServices.Tabular;
namespace BismNormalizer.TabularCompare.TabularMetadata
{
///
/// Abstraction of a tabular model expression with properties and methods for comparison purposes.
///
public class Expression : TabularObject
{
private TabularModel _parentTabularModel;
private NamedExpression _tomExpression;
///
/// Initializes a new instance of the Expression class using multiple parameters.
///
/// TabularModel object that the Expression object belongs to.
/// Tabular Object Model Expression object abtstracted by the Expression class.
public Expression(TabularModel parentTabularModel, NamedExpression expression) : base(expression, parentTabularModel)
{
_parentTabularModel = parentTabularModel;
_tomExpression = expression;
}
///
/// TabularModel object that the Expression object belongs to.
///
public TabularModel ParentTabularModel => _parentTabularModel;
///
/// Tabular Object Model NamedExpression object abtstracted by the Expression class.
///
public NamedExpression TomExpression => _tomExpression;
public override string ToString() => this.GetType().FullName;
}
}