package edu.hawaii.jmotif.sequitur; import java.util.ArrayList; import java.util.Arrays; /** * Data container for SAX rules. For me (seninp) it is not really clear its utility for now, since * it can be substituted by the rule itself, but we use this to send rules to display. * * @author Manfred Lerner, seninp * */ public class SAXRuleRecord { // rule number private int ruleIndex; // Sequitur frequency - i.e. how many time it is used private int ruleUsageFrequency; private String ruleName; private String ruleString; private String expandedRuleString; private Integer length; private ArrayList<Integer> indexes = new ArrayList<Integer>(); /** * @return index of the rule */ public int getRuleIndex() { return ruleIndex; } public Integer getLength() { return length; } public void setLength(Integer length) { this.length = length; } /** * @param ruleIndex index of the rule */ public void setRuleIndex(int ruleIndex) { this.ruleIndex = ruleIndex; } /** * @return frequency of the rule */ public int getRuleFrequency() { return ruleUsageFrequency; } /** * @param ruleFrequency frequency of the rule */ public void setRuleFrequency(int ruleFrequency) { this.ruleUsageFrequency = ruleFrequency; } /** * @return name of the rule, something like R1 or R30 etc. */ public String getRuleName() { return ruleName; } /** * @param ruleName set the name of the rule, something like R1 or R30 etc. */ public void setRuleName(String ruleName) { this.ruleName = ruleName; } /** * @return textual representation of the rule */ public String getRuleString() { return ruleString; } /** * @param ruleString textual representation of the rule */ public void setRuleString(String ruleString) { this.ruleString = ruleString; } /** * @return expanded textual representation of the rule */ public String getExpandedRuleString() { return expandedRuleString; } /** * @param expandedRuleString expanded textual representation of the rule */ public void setExpandedRuleString(String expandedRuleString) { this.expandedRuleString = expandedRuleString; } public String getOccurenceIndexes() { return Arrays.toString(this.indexes.toArray(new Integer[this.indexes.size()])); } public ArrayList<Integer> getIndexes() { return this.indexes; } public void setIndexes(int[] indexes) { this.indexes = new ArrayList<Integer>(); for (Integer i : indexes) { this.indexes.add(i); } } }