001 /** 002 * Open parenthesis token singleton 003 * 004 * @author Mathias Ricken 005 */ 006 package sysModel.parser; 007 008 /** 009 * Open parenthesis token. 010 * 011 * @author Mathias Ricken 012 */ 013 public final class OpenToken implements IToken { 014 /** 015 * Singleton instance. 016 */ 017 private static OpenToken _instance; 018 019 /** 020 * Return singleton instance. 021 * 022 * @return instance 023 */ 024 public static synchronized OpenToken instance() { 025 if (null == _instance) { 026 _instance = new OpenToken(); 027 } 028 return _instance; 029 } 030 031 /** 032 * Private singleton constructor. 033 */ 034 private OpenToken() { 035 } 036 037 /** 038 * Execute visitor. 039 * 040 * @param v visitor 041 * @return visitor-specific return value 042 */ 043 public Object execute(ITokenVisitor v) { 044 return v.openCase(); 045 } 046 } 047