package org.springframework.roo.classpath.details;
/**
* Builder for {@link ConstructorMetadata}.
*
* @author Ben Alex
* @since 1.1
*/
public class ConstructorMetadataBuilder extends
AbstractInvocableMemberMetadataBuilder<ConstructorMetadata> {
/**
* Constructor
*
* @param existing
*/
public ConstructorMetadataBuilder(final ConstructorMetadata existing) {
super(existing);
}
/**
* Constructor
*
* @param declaredbyMetadataId
*/
public ConstructorMetadataBuilder(final String declaredbyMetadataId) {
super(declaredbyMetadataId);
}
/**
* Constructor
*
* @param declaredbyMetadataId
* @param existing
*/
public ConstructorMetadataBuilder(final String declaredbyMetadataId,
final ConstructorMetadata existing) {
super(declaredbyMetadataId, existing);
}
public ConstructorMetadata build() {
return new DefaultConstructorMetadata(getCustomData().build(),
getDeclaredByMetadataId(), getModifier(), buildAnnotations(),
getParameterTypes(), getParameterNames(), getThrowsTypes(),
getBodyBuilder().getOutput());
}
}