/** * <copyright> * </copyright> * * */ package ssl.resource.ssl.mopp; /** * A representation for a range in a document where a terminal (i.e., a * placeholder or a keyword) is expected. The range is expressed using two * integers denoting the start of the range including hidden tokens (e.g., * whitespace) and excluding those token (i.e., the part of the document * containing the relevant characters). */ public class SslExpectedTerminal { private int followSetID; private ssl.resource.ssl.ISslExpectedElement terminal; private int startIncludingHiddenTokens; private int startExcludingHiddenTokens; private String prefix; private org.eclipse.emf.ecore.EStructuralFeature[] containmentTrace; public SslExpectedTerminal(ssl.resource.ssl.ISslExpectedElement terminal, int followSetID, org.eclipse.emf.ecore.EStructuralFeature... containmentTrace) { super(); this.terminal = terminal; this.followSetID = followSetID; this.containmentTrace = containmentTrace; } public int getFollowSetID() { return followSetID; } public ssl.resource.ssl.ISslExpectedElement getTerminal() { return terminal; } public String toString() { return terminal == null ? "null" : terminal.toString(); } public boolean equals(Object o) { return this.terminal.equals(((SslExpectedTerminal) o).terminal); } public void setPosition(int startIncludingHiddenTokens, int startExcludingHiddenTokens) { assert startExcludingHiddenTokens <= startExcludingHiddenTokens; assert startIncludingHiddenTokens <= startExcludingHiddenTokens; this.startIncludingHiddenTokens = startIncludingHiddenTokens; this.startExcludingHiddenTokens = startExcludingHiddenTokens; } public int getStartIncludingHiddenTokens() { return startIncludingHiddenTokens; } public int getStartExcludingHiddenTokens() { return startExcludingHiddenTokens; } public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.prefix = prefix; } public org.eclipse.emf.ecore.EStructuralFeature[] getContainmentTrace() { return containmentTrace; } }