/** * Generates a property descriptor of type {@link PropertyType#String} */ private void generateStringPropertyDescriptor(final ClassAnnotation cad, final ClassDescription classDescription, final boolean metatype, String annotationName, String propertyDescriptorName) { final String[] values = (String[]) cad.getValue(annotationName); if (values == null) { return; } final PropertyDescription pd = new PropertyDescription(cad); pd.setName(propertyDescriptorName); pd.setMultiValue(values); pd.setType(PropertyType.String); if (metatype) { pd.setPrivate(true); } classDescription.add(pd); }
prop.setValue(values[0]); } else { prop.setMultiValue(values); newValues[i] = Array.get(value, i).toString(); prop.setMultiValue(newValues); prop.setType(PropertyType.from(fieldAnnotation.getAnnotatedField().getType().getComponentType())); } else { newValues[i] = Array.get(value, i).toString(); prop.setMultiValue(newValues); prop.setType(PropertyType.from(fieldAnnotation.getAnnotatedField().getType().getComponentType())); } else { prop.setMultiValue(new String[] {prop.getValue()}); } else if ( prop.getCardinality() < -1 || prop.getCardinality() > 1 ) { prop.setMultiValue(new String[] {prop.getValue()});
pd2.setValue(scopes[0]); } else { pd2.setMultiValue(scopes);
this.pendingProperty.setMultiValue(values);
/** Generates a property descriptor of type {@link PropertyType} */ private void generatePropertyDescriptor(final ClassAnnotation cad, final ClassDescription classDescription, final boolean metatype, final String propertyName, final String propertyDescriptorName, PropertyType propertyType, String label, String description, boolean isArray) { final PropertyDescription pd = new PropertyDescription(cad); pd.setName(propertyDescriptorName); pd.setLabel(label); pd.setDescription(description); pd.setType(propertyType); if(isArray) { final String[] values = (String[]) cad.getValue(propertyName); pd.setMultiValue(values); pd.setUnbounded(PropertyUnbounded.ARRAY); pd.setCardinality(Integer.MAX_VALUE); } else { final Object propertyVal = cad.getValue(propertyName); String pdValue = (propertyVal instanceof String) ? (String) propertyVal : propertyVal!=null ? propertyVal.toString() : null; pd.setValue(pdValue); pd.setUnbounded(PropertyUnbounded.DEFAULT); } if (!metatype) { pd.setPrivate(true); } classDescription.add(pd); }
values[0] = found.getValue(); values[1] = value; found.setMultiValue(values); } else { final String[] oldValues = found.getMultiValue(); System.arraycopy(oldValues, 0, newValues, 0, oldValues.length); newValues[oldValues.length] = value; found.setMultiValue(newValues);
@Override public AbstractDescription clone() { final PropertyDescription cd = new PropertyDescription(this.annotation); cd.setName(this.getName()); cd.setLabel(this.getLabel()); cd.setDescription(this.getDescription()); if ( this.getValue() != null ) { cd.setValue(this.getValue()); } else { cd.setMultiValue(this.getMultiValue()); } cd.setType(this.getType()); cd.setUnbounded(this.getUnbounded()); cd.setCardinality(this.getCardinality()); cd.setPrivate(this.isPrivate()); cd.setOptions(this.getOptions()); return cd; } }