//
//  EXPLabelledElement.m
//  dde
//
//  Created by Ashley on 23/07/2007.
//  Copyright 2007 __MyCompanyName__. All rights reserved.
//

#import "EXPDataElement.h"
#import "EXPExpression.h"
#import "EXPParser.h"
#import "EXPError.h"

@implementation EXPDataElement

+ (int) storageSize
{
	return sizeof(double)/sizeof(unsigned short int);
}

- (id) init
{
	self = [super init];
	if (self!=nil) {
		_expressions = [[NSMutableArray alloc] init];
	}
	return self;
}

- (int) storageSize
{
	return sizeof(double)/sizeof(unsigned short int);
}

- (void) setLabel:(id)label
{
	[label retain];
	[_label release];
	_label = label;
}

- (id) label
{
	return _label;
}

- (id) expressions
{
	return _expressions;
}

- (void) setExpressions:(id)expressions
{
	[expressions retain];
	[_expressions release];
	_expressions = expressions;
}

- (void) addExpression:(id)expression
{
	[[self expressions] addObject:expression];
}

- (void) setExpressionType:(EXPExpressionType) expressionType
{
	_expressionType = expressionType;
}

- (EXPExpressionType) expressionType
{
	return _expressionType;
}

- (void) dealloc
{
	[_label release];
	[_expressions release];
	[super dealloc];
}

@end