private static List<IAttribute<Object>> createInstance() { final IBeanAttributesBuilder builder = Attributes.builder(RadioStation.class); // frequency IBeanAttributeBluePrint<Object> bp = builder.add(RadioStation.FREQUENCY_PROPERTY).setLabel("Frequency"); bp.setTableColumnWidth(180); bp.setControlPanel().setControlCreator(new HzValueControlCreator()); // band bp = builder.add(RadioStation.BAND_PROPERTY).setLabel("Band"); bp.setTableColumnWidth(100); bp.setDefaultValue(Band.UKW); // modulation bp = builder.add(RadioStation.MODULATION_PROPERTY).setLabel("Modulation"); bp.setTableColumnWidth(100); bp.setDefaultValue(Modulation.FM); // bandwidth bp = builder.add(RadioStation.BANDWIDTH_PROPERTY).setLabel("Bandwidth"); bp.setControlPanel().setControlCreator(new HzValueControlCreator()); bp.setTableColumnWidth(100); bp.setDefaultValue(new HzValue(250, HertzUnitSet.KH)); // distance bp = builder.add(RadioStation.DISTANCE_PROPERTY).setLabel("Distance"); final IConverterProvider converters = Toolkit.getConverterProvider(); final IObjectStringConverter<Long> converter; converter = converters.unitValueConverter( new LongDoubleUnitConverter(MillimeterUnitSet.KILO_METER), Double.class); bp.setControlPanel() .setControlCreator(new DistanceValueControlCreator()) .setObjectLabelConverter(converter); bp.setTableColumnWidth(100); // category bp = builder.add(RadioStation.CATEGORY_PROPERTY).setLabel("Category"); bp.setTableColumnWidth(100); bp.setDefaultValue(Category.OTHER); // name bp = builder.add(RadioStation.NAME_PROPERTY).setLabel("Name"); bp.setTableColumnWidth(180); return builder.build(); };