package org.handwerkszeug.mvnhack.repository.impl; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; import org.handwerkszeug.common.util.StringUtil; import org.handwerkszeug.mvnhack.repository.Artifact; public class DefaultArtifact implements Artifact { protected String groupId = ""; protected String artifactId = ""; protected String version = ""; protected String type = "jar"; protected boolean optional = false; protected Set<Artifact> dependencies = new LinkedHashSet<Artifact>(); protected Map<String, String> managedDependencies; public DefaultArtifact() { } public DefaultArtifact(Map<String, String> managedDependencies) { this.managedDependencies = managedDependencies; } @Override public String getGroupId() { return this.groupId; } protected void setGroupId(String groupId) { this.groupId = StringUtil.toString(groupId).trim(); } @Override public String getArtifactId() { return this.artifactId; } protected void setArtifactId(String artifactId) { this.artifactId = StringUtil.toString(artifactId).trim(); } @Override public String getVersion() { return this.version; } protected void setVersion(String version) { this.version = StringUtil.toString(version).trim(); } @Override public String getType() { return this.type; } protected void setType(String type) { this.type = StringUtil.toString(type, "jar").trim(); } @Override public boolean isOptional() { return this.optional; } protected void setOptional(boolean optional) { this.optional = optional; } @Override public Set<Artifact> getDependencies() { return this.dependencies; } protected void add(Artifact dependency) { this.dependencies.add(dependency); } @Override public boolean equals(Object obj) { if (obj instanceof Artifact) { Artifact a = (Artifact) obj; return equals(a); } return super.equals(obj); } public boolean equals(Artifact a) { return getGroupId().equals(a.getGroupId()) && getArtifactId().equals(a.getArtifactId()) && getVersion().equals(a.getVersion()); } @Override public int hashCode() { StringBuilder stb = new StringBuilder(); stb.append(getGroupId()); stb.append(getArtifactId()); stb.append(getVersion()); return stb.toString().hashCode(); } @Override public String toString() { StringBuilder stb = new StringBuilder(); stb.append("groupId :"); stb.append(getGroupId()); stb.append(" "); stb.append("artifactId :"); stb.append(getArtifactId()); stb.append(" "); stb.append("version :"); stb.append(getVersion()); stb.append(" "); stb.append("optional :"); stb.append(isOptional()); return stb.toString(); } }