/*
* Copyright (c) 2012 Sam Harwell, Tunnel Vision Laboratories LLC
* All rights reserved.
*
* The source code of this document is proprietary work, and is not licensed for
* distribution. For information about licensing, contact Sam Harwell at:
* sam@tunnelvisionlabs.com
*/
package org.antlr.works.editor.grammar.completion;
import org.antlr.works.editor.grammar.codemodel.AttributeModel;
/**
*
* @author Sam Harwell
*/
public class MemberCompletionItem extends GrammarCompletionItem {
private final AttributeModel member;
private String leftText;
private String rightText;
public MemberCompletionItem(AttributeModel member) {
this.member = member;
}
@Override
protected String getSortTextImpl() {
return member.getName();
}
@Override
public int getSortPriority() {
return MEMBER_SORT_PRIORITY;
}
@Override
public CharSequence getInsertPrefix() {
return member.getName();
}
@Override
protected String getLeftHtmlText() {
if (leftText == null) {
StringBuilder builder = new StringBuilder();
builder.append(PARAMETER_NAME_COLOR);
builder.append(member.getName());
builder.append(COLOR_END);
leftText = builder.toString();
}
return leftText;
}
@Override
protected String getRightHtmlText() {
if (rightText == null) {
StringBuilder builder = new StringBuilder();
builder.append(member.getType().replace("<", "<").replace(">", ">"));
rightText = builder.toString();
}
return rightText;
}
}