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());
}
}