private Widget createValuePairItem( final Annotation annotation, final AnnotationValuePairDefinition valuePairDefinition, final AnnotationSource annotationSource) { final Row valuePairRow = new Row(); final FormGroup formGroup = new FormGroup(); valuePairRow.add(formGroup); final FormLabel formLabel = new FormLabel(); formLabel.addStyleName(ColumnSize.MD_3.getCssName()); formLabel.setText(valuePairDefinition.getName()); formGroup.add(formLabel); final Column column = new Column(ColumnSize.MD_9); formGroup.add(column); final TextBox content = new TextBox(); column.add(content); final String valuePairString = getValuePairStringValue(annotation, valuePairDefinition, annotationSource); content.setText(valuePairString); content.setReadOnly(true); content.setTitle(valuePairString); final Button editButton = new Button( Constants.INSTANCE.advanced_domain_annotation_list_editor_action_edit(), new ClickHandler() { @Override public void onClick(ClickEvent event) { presenter.onEditValuePair(annotation, valuePairDefinition.getName()); } }); editButton.setEnabled(!readonly); editButton.setIcon(IconType.EDIT); final Button clearButton = new Button( Constants.INSTANCE.advanced_domain_annotation_list_editor_action_clear(), new ClickHandler() { @Override public void onClick(ClickEvent event) { presenter.onClearValuePair(annotation, valuePairDefinition.getName()); } }); clearButton.setEnabled(!readonly); clearButton.setIcon(IconType.ERASER); final FormGroup formGroupButton = new FormGroup(); formGroupButton.add(editButton); formGroupButton.add(clearButton); final Column columnButton = new Column(ColumnSize.MD_9); columnButton.setOffset(ColumnOffset.MD_3); columnButton.add(formGroupButton); valuePairRow.add(columnButton); return valuePairRow; }
public static String encodeEnumValue( AnnotationValuePairDefinition valuePairDefinition, Object value) { if (value == null) return null; StringBuilder encodedValue = new StringBuilder(); encodedValue.append(NamingUtils.normalizeClassName(valuePairDefinition.getClassName())); encodedValue.append("."); encodedValue.append(value.toString()); return encodedValue.toString(); }
public static String encodePrimitiveValue( AnnotationValuePairDefinition valuePairDefinition, Object value) { if (value == null) return null; StringBuilder encodedValue = new StringBuilder(); if (NamingUtils.isCharId(valuePairDefinition.getClassName()) || Character.class.getName().equals(valuePairDefinition.getClassName())) { String strValue = value.toString(); if (StringEscapeUtils.isSingleQuoted(strValue)) { encodedValue.append(strValue); } else { encodedValue.append("'"); encodedValue.append(value.toString()); encodedValue.append("'"); } } else if (NamingUtils.isLongId(valuePairDefinition.getClassName()) || Long.class.getName().equals(valuePairDefinition.getClassName())) { encodedValue.append(value.toString()); encodedValue.append("L"); } else if (NamingUtils.isFloatId(valuePairDefinition.getClassName()) || Float.class.getName().equals(valuePairDefinition.getClassName())) { encodedValue.append(value.toString()); encodedValue.append("f"); } else if (NamingUtils.isDoubleId(valuePairDefinition.getClassName()) || Double.class.getName().equals(valuePairDefinition.getClassName())) { encodedValue.append(value.toString()); encodedValue.append("d"); } else if (NamingUtils.isByteId(valuePairDefinition.getClassName()) || Byte.class.getName().equals(valuePairDefinition.getClassName())) { encodedValue.append("(byte)"); encodedValue.append(value.toString()); } else { encodedValue.append(value.toString()); } return encodedValue.toString(); }
private String getValuePairStringValue( Annotation annotation, AnnotationValuePairDefinition valuePairDefinition, AnnotationSource annotationSource) { Object value = annotation.getValue(valuePairDefinition.getName()); String strValue; if (value == null) { strValue = Constants.INSTANCE.advanced_domain_annotation_list_editor_message_value_not_set(); } else { strValue = annotationSource != null ? annotationSource.getValuePairSource(valuePairDefinition.getName()) : null; if (strValue == null) { strValue = Constants.INSTANCE .advanced_domain_annotation_list_editor_message_source_code_not_available(); } } return strValue; }