package org.springframework.roo.classpath.details;
import java.lang.reflect.Modifier;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.springframework.roo.model.CustomData;
/**
* Default implementation of {@link InitializerMetadata}.
*
* @author James Tyrrell
* @since 1.1.1
*/
public class DefaultInitializerMetadata extends AbstractIdentifiableJavaStructureProvider implements
InitializerMetadata {
private final String body;
private final boolean isStatic;
// Package protected to mandate the use of InitializerMetadataBuilder
DefaultInitializerMetadata(final CustomData customData, final String declaredByMetadataId,
final int modifier, final boolean isStatic, final String body) {
super(customData, declaredByMetadataId, modifier);
this.isStatic = isStatic;
this.body = body;
}
public final String getBody() {
return body;
}
public boolean isStatic() {
return isStatic;
}
@Override
public String toString() {
final ToStringBuilder builder = new ToStringBuilder(this);
builder.append("declaredByMetadataId", getDeclaredByMetadataId());
builder.append("modifier", Modifier.toString(getModifier()));
builder.append("customData", getCustomData());
builder.append("isStatic", isStatic());
builder.append("body", getBody());
return builder.toString();
}
}