/**
* <copyright>
* </copyright>
*
*
*/
package ssl.resource.ssl.mopp;
public class SslTextToken implements ssl.resource.ssl.ISslTextToken {
private final ssl.resource.ssl.ISslMetaInformation metaInformation = new ssl.resource.ssl.mopp.SslMetaInformation();
private final org.antlr.runtime3_2_0.Token antlrToken;
public SslTextToken(org.antlr.runtime3_2_0.Token antlrToken) {
super();
this.antlrToken = antlrToken;
}
public String getName() {
return getTokenName(metaInformation.getTokenNames(), antlrToken.getType());
}
public int getOffset() {
return ((org.antlr.runtime3_2_0.CommonToken) antlrToken).getStartIndex();
}
public int getLength() {
return ((org.antlr.runtime3_2_0.CommonToken) antlrToken).getStopIndex() - ((org.antlr.runtime3_2_0.CommonToken) antlrToken).getStartIndex() + 1;
}
public int getLine() {
return antlrToken.getLine();
}
public int getColumn() {
return antlrToken.getCharPositionInLine();
}
public boolean canBeUsedForSyntaxHighlighting() {
int tokenType = antlrToken.getType();
if (tokenType == org.antlr.runtime3_2_0.Token.EOF) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.UP) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.DOWN) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.EOR_TOKEN_TYPE) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.INVALID_TOKEN_TYPE) {
return false;
}
return true;
}
public String getText() {
return antlrToken.getText();
}
public String getTokenName(String[] tokenNames, int index) {
if (tokenNames == null) {
return null;
}
String tokenName = tokenNames[index];
if (tokenName != null && tokenName.startsWith("'")) {
tokenName = tokenName.substring(1, tokenName.length() - 1).trim();
}
return tokenName;
}
}