/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser.expressions; import gw.internal.gosu.parser.Expression; import java.util.ArrayList; import java.util.List; import gw.lang.parser.expressions.IObjectInitializerExpression; /** * @author cgross */ public class ObjectInitializerExpression extends Expression implements IObjectInitializerExpression { private List<InitializerAssignment> _assignments = new ArrayList<InitializerAssignment>(); public Object evaluate() { return null; //do nothing } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( "{" ); if( _assignments != null ) { for( int i = 0; i < _assignments.size(); i++ ) { if( i != 0 ) { sb.append( ", " ); } InitializerAssignment entries = _assignments.get( i ); sb.append( entries.toString() ); } } sb.append( "}" ); return sb.toString(); } public void initialize( Object rootValue ) { if( _assignments != null ) { for( InitializerAssignment entries : _assignments ) { entries.execute( rootValue ); } } } public void add( InitializerAssignment expression ) { _assignments.add( expression ); } public List<InitializerAssignment> getInitializers() { return _assignments; } }