Thanks blackdrag, I used local private variables in the trait to configure the types: trait TraitA { private Map map public void configTrait(Map map){ this . map =map } def fillInMap(){ map .put( 'car1' , 'bmw1' ) } } class ClassA implements TraitA{ Map map = new HashMap () public static void main(String[] args) { ClassA classA = new ClassA() classA.configTrait(classA. map ); classA.fillInMap() } } >-------- Оригинално писмо -------- >От: Jochen Theodorou blackdrag@gmx.org >Относно: Re: Strong typing in traits >До: users@groovy.incubator.apache.org >Изпратено на: 17.07.2015 20:23 Am 17.07.2015 19:11, schrieb Nikolay Totomanov: > Hello, > > I would like to have strong types in the traits which I use. > For example in the trait "TraitA" i have a method fillInMap() in which I > am adding elements to the "map" field [...] > traitTraitA { > > deffillInMap(){ > // here 'map' is with undefined type > // is there a way to "suggest" its type > map.put('car1','bmw1') > map.put('car2','bmw2') > } > } How about adding a method getMap or the like to the trait? bye blackdrag -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/