-- @atlcompiler atl2006 -- $Id$ -- Java >= 1.0 code generation helpers library Java1; ------------------------------- Accessors ----------------------------------- helper context String def : javaMultiGetterBody() : String = 'return ' + self + '.elements();'; helper context String def : javaGetAt(type : String) : String = 'try {\n' + ' return (' + type + ') ' + self + '.elementAt(index);\n' + '} catch (ArrayIndexOutOfBoundsException e) {\n' + ' return null;\n' + '}'; helper context String def : javaAdder() : String = 'this.' + self + '.addElement(' + self + ');'; helper context String def : javaInsert() : String = 'try {\n' + ' this.' + self + '.insertElementAt(' + self + ', index);\n' + '} catch (ArrayIndexOutOfBoundsException e) {\n' + ' ' + self.javaAdder() + '\n' + '}'; helper context String def : javaRemover() : String = 'this.' + self + '.removeElement(' + self + ');'; helper context String def : javaImplTypeName() : String = if self = 'OrderedSet' then 'java::util::Vector' else if self = 'Set' then 'java::util::Vector' else if self = 'Sequence' then 'java::util::Vector' else if self = 'Bag' then 'java::util::Vector' else 'java::lang::void' endif endif endif endif; helper context String def : javaDefaultValueBody() : String = if self = 'java::util::Vector' then 'new java.util.Vector()' else 'null' endif;