package org.springframework.roo.classpath.details; import java.lang.reflect.Modifier; import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; import org.springframework.roo.classpath.details.annotations.AnnotatedJavaType; import org.springframework.roo.classpath.details.annotations.AnnotationMetadata; import org.springframework.roo.model.CustomData; import org.springframework.roo.model.JavaSymbolName; import org.springframework.roo.model.JavaType; /** * Default implementation of {@link ConstructorMetadata}. * * @author Ben Alex * @since 1.0 */ public class DefaultConstructorMetadata extends AbstractInvocableMemberMetadata implements ConstructorMetadata { // Package protected to mandate the use of ConstructorMetadataBuilder DefaultConstructorMetadata(final CustomData customData, final String declaredByMetadataId, final int modifier, final List<AnnotationMetadata> annotations, final List<AnnotatedJavaType> parameterTypes, final List<JavaSymbolName> parameterNames, final List<JavaType> throwsTypes, final String body) { super(customData, declaredByMetadataId, modifier, annotations, parameterTypes, parameterNames, throwsTypes, body); } @Override public String toString() { final ToStringBuilder builder = new ToStringBuilder(this); builder.append("declaredByMetadataId", getDeclaredByMetadataId()); builder.append("modifier", Modifier.toString(getModifier())); builder.append("parameterTypes", getParameterTypes()); builder.append("parameterNames", getParameterNames()); builder.append("annotations", getAnnotations()); builder.append("customData", getCustomData()); builder.append("body", getBody()); return builder.toString(); } }