package org.springframework.roo.classpath.details; import org.apache.commons.lang3.builder.ToStringBuilder; import org.springframework.roo.classpath.details.comments.CommentStructure; import org.springframework.roo.classpath.details.comments.CommentedJavaStructure; import org.springframework.roo.model.CustomData; import org.springframework.roo.model.JavaPackage; import org.springframework.roo.model.JavaType; /** * Default implementation of {@link ImportMetadata}. * * @author James Tyrrell * @since 1.1.1 */ public class DefaultImportMetadata extends AbstractIdentifiableJavaStructureProvider implements ImportMetadata, CommentedJavaStructure { private final JavaPackage importPackage; private final JavaType importType; private CommentStructure commentStructure; private boolean isAsterisk = false; private boolean isStatic = false; // Package protected to mandate the use of ImportMetadataBuilder DefaultImportMetadata(final CustomData customData, final String declaredByMetadataId, final int modifier, final JavaPackage importPackage, final JavaType importType, final boolean isStatic, final boolean isAsterisk) { super(customData, declaredByMetadataId, modifier); this.importPackage = importPackage; this.importType = importType; this.isStatic = isStatic; this.isAsterisk = isAsterisk; } public JavaPackage getImportPackage() { return importPackage; } public JavaType getImportType() { return importType; } public boolean isAsterisk() { return isAsterisk; } public boolean isStatic() { return isStatic; } @Override public String toString() { final ToStringBuilder builder = new ToStringBuilder(this); builder.append("declaredByMetadataId", getDeclaredByMetadataId()); builder.append("typePackage", importPackage); builder.append("type", importType); builder.append("isStatic", isStatic); builder.append("isAsterisk", isAsterisk); return builder.toString(); } @Override public CommentStructure getCommentStructure() { return commentStructure; } @Override public void setCommentStructure(CommentStructure commentStructure) { this.commentStructure = commentStructure; } }