]> gerrit.simantics Code Review - simantics/sysdyn.git/blob
a8d4d6676f3f99a4604b4917063fd9446cfe5bf0
[simantics/sysdyn.git] /
1 /*******************************************************************************\r
2  * Copyright (c) 2010, 2012 Association for Decentralized Information Management in\r
3  * Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.sysdyn.representation.expressions;\r
13 \r
14 import org.simantics.objmap.annotations.GraphType;\r
15 import org.simantics.objmap.annotations.RelatedValue;\r
16 import org.simantics.sysdyn.SysdynResource;\r
17 import org.simantics.sysdyn.representation.utils.FormatUtils;\r
18 import org.simantics.sysdyn.representation.utils.IndexUtils;\r
19 \r
20 /**\r
21  * Representation of a normal (auxiliary) expression\r
22  * \r
23  * @author Teemu Lempinen\r
24  *\r
25  */\r
26 @GraphType(SysdynResource.URIs.NormalExpression)\r
27 public class NormalExpression extends Expression {\r
28 \r
29     @RelatedValue(SysdynResource.URIs.Expression_equation)\r
30     private String equation;\r
31     \r
32     @Override\r
33     public String getExpression() {\r
34         return equation;\r
35     }\r
36 \r
37     @Override\r
38     public String getEquation() {\r
39         String equation = FormatUtils.formatExpressionForModelica(parent, this.equation);\r
40         String range = IndexUtils.rangeToIndexes(parent, this.getArrayRange());\r
41         return "    " + parent.getName() + (range.equals("[:]") ? "" : range) + " = " + equation + ";\n";\r
42     }\r
43 \r
44 }\r