/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.internal.gosu.parser.statements.LoopStatement; import gw.lang.parser.EvaluationException; import gw.lang.reflect.IPropertyAccessor; public class LengthAccessor implements IPropertyAccessor { public static final LengthAccessor INSTANCE = new LengthAccessor(); private LengthAccessor() { } @Override public Object getValue( Object ctx ) { if( ctx == null ) { return null; } return LoopStatement.getArrayLength(ctx); } @Override public void setValue( Object ctx, Object value ) { throw new EvaluationException( "\"length\" is a read-only property." ); } }