/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser.java.classinfo; import gw.internal.gosu.parser.Expression; public class JavaSourceDefaultValue { public static final JavaSourceDefaultValue NULL = new JavaSourceDefaultValue(null, "No default value."); private JavaSourceAnnotationMethod _method; private String _text; Expression _expr; public JavaSourceDefaultValue(JavaSourceAnnotationMethod method, String value) { _method = method; _text = value; } public String toString() { return _text; } public String getValue() { return _text; } public Expression parse() { if (_expr == null) { _expr = (Expression)CompileTimeExpressionParser.parse( _text, _method.getEnclosingClass(), _method.getReturnType() ); } return _expr; } public Object evaluate() { Expression expr = parse(); return expr.evaluate(); }}