src/java/isac/util/Variant.java
author nsimic
Fri, 23 Feb 2007 09:54:37 +0100
changeset 3775 1f7d87fe8692
parent 2424 7f85ee9bd543
child 3928 d38196e9b162
permissions -rw-r--r--
addedSerialVersionUID
mhochrei@1085
     1
/****************************************************************** 
mkoschuc@2424
     2
 * Copyright (c) 2003, Mario Hochreiter, Student of 
mkoschuc@2424
     3
 * Software Engineering at FH-Hagenberg, Austria. 
mkoschuc@2424
     4
 * Project member of the isac team at the Institute for 
mkoschuc@2424
     5
 * Software-Technologie, Graz University of Technology, Austria. 
mkoschuc@2424
     6
 * 
mkoschuc@2424
     7
 * Use is subject to license terms.
mkoschuc@2424
     8
 ******************************************************************/
mhochrei@1085
     9
mhochrei@1085
    10
package isac.util;
mhochrei@1085
    11
wneuper@1901
    12
import isac.util.formulae.Specification;
wneuper@1901
    13
mhochrei@1085
    14
import java.io.Serializable;
mhochrei@1085
    15
import java.util.ArrayList;
mhochrei@1085
    16
mhochrei@1085
    17
/**
mkoschuc@2424
    18
 * Describes a way how a specific calculation will be calculated (which method
mkoschuc@2424
    19
 * will be used to solve this calculation).
mhochrei@1085
    20
 * 
mhochrei@1085
    21
 * @author Mario Hochreiter
mhochrei@1085
    22
 * @version 0.1
mkoschuc@2424
    23
 *  
mhochrei@1085
    24
 */
mhochrei@1085
    25
public class Variant implements Serializable {
mkoschuc@2424
    26
nsimic@3775
    27
    static final long serialVersionUID = 4983770207782569120L;
nsimic@3775
    28
nsimic@3775
    29
	/** strings betweend the isa tags */
nsimic@3775
    30
    protected ArrayList<String> isa_strings_;
mkoschuc@2424
    31
mkoschuc@2424
    32
    protected Specification spec_;
mkoschuc@2424
    33
mkoschuc@2424
    34
    public Variant() {
nsimic@3775
    35
        isa_strings_ = new ArrayList<String>();
mhochrei@1085
    36
    }
mkoschuc@2424
    37
mkoschuc@2424
    38
    /**
mkoschuc@2424
    39
     * Add a new isa string
mkoschuc@2424
    40
     * 
mkoschuc@2424
    41
     * @param isa
mkoschuc@2424
    42
     *            The isa string
mkoschuc@2424
    43
     */
mkoschuc@2424
    44
    public void addNewIsaString(String isa) {
mkoschuc@2424
    45
        isa_strings_.add(isa);
mkoschuc@2424
    46
    }
mkoschuc@2424
    47
mkoschuc@2424
    48
    public String toString() {
mkoschuc@2424
    49
        String content = "<TERMLIST>";
mkoschuc@2424
    50
        for (int index = 0; index < isa_strings_.size(); index++)
mkoschuc@2424
    51
            content += "<MATHML>\n<ISA>\n" + isa_strings_.get(index)
mkoschuc@2424
    52
                    + "\n</ISA>\n</MATHML>\n";
mkoschuc@2424
    53
mkoschuc@2424
    54
        if (spec_ != null) {
mkoschuc@2424
    55
            content += spec_;
mkoschuc@2424
    56
        }
mkoschuc@2424
    57
        content += "</TERMLIST>\n";
mkoschuc@2424
    58
        return content;
mkoschuc@2424
    59
    }
mkoschuc@2424
    60
mkoschuc@2424
    61
    /**
mkoschuc@2424
    62
     * Format the object in a way that the bridge can handle it
mkoschuc@2424
    63
     * 
mkoschuc@2424
    64
     * @return SML representation of this Variant
mkoschuc@2424
    65
     */
mkoschuc@2424
    66
    public String toSMLString() {
mkoschuc@2424
    67
        StringBuffer sb = new StringBuffer();
mkoschuc@2424
    68
mkoschuc@2424
    69
        int size = isa_strings_.size();
mkoschuc@2424
    70
        sb.append("[");
mkoschuc@2424
    71
        for (int i = 0; i < size; i++) {
mkoschuc@2424
    72
            sb.append("\"" + (String) isa_strings_.get(i) + "\"");
mkoschuc@2424
    73
            if (i < size - 1) sb.append(", ");
mkoschuc@2424
    74
        }
mkoschuc@2424
    75
        sb.append("],");
mkoschuc@2424
    76
        sb.append("(" + spec_.toSMLString() + ")");
mkoschuc@2424
    77
        return sb.toString();
mkoschuc@2424
    78
    }
mkoschuc@2424
    79
mkoschuc@2424
    80
    public void setSpecification(Specification spec) {
mkoschuc@2424
    81
        this.spec_ = spec;
mkoschuc@2424
    82
    }
mkoschuc@2424
    83
mkoschuc@2424
    84
    public Specification getSpecification() {
mkoschuc@2424
    85
        return spec_;
mkoschuc@2424
    86
    }
mkoschuc@2424
    87
mkoschuc@2424
    88
}