Externalize Strings...

Javaソースから文字列リテラルを取得する際「Externalize Strings...」はどうやっているのかなーとふと思ってみてみると、
NLSHintで、

NLSLine[] lines = NLSScanner.scan(ICompilationUnit)

で文字列リテラルの数分だけNLSLineの配列で取得できる。
チュートリアルのAddAction.javaで試してみて、Ctrl+Shift+Dで見てみると、以下のような感じになっている。
getLineNumberで取れる行番号がエディタ上の行番号になっている。

((NLSElement)lines[0].getElements()[0]).getValue();

(java.lang.String) "add.jsp"

lines[0].getLineNumber();

(int) 20