package fr.adrienbrault.idea.symfony2plugin.dic.container.dict;
import com.intellij.util.containers.HashSet;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.Serializable;
import java.util.Collection;
import java.util.Objects;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public class ContainerBuilderCall implements Serializable {
@Nullable
private String scope;
@Nullable
private String name;
private Collection<String> parameter = new HashSet<>();
public ContainerBuilderCall() {
}
public ContainerBuilderCall(@NotNull String scope) {
this.scope = scope;
}
@Nullable
public String getScope() {
return scope;
}
public void setScope(@Nullable String scope) {
this.scope = scope;
}
@Nullable
public String getName() {
return name;
}
public void setName(@Nullable String name) {
this.name = name;
}
@Nullable
public Collection<String> getParameter() {
return parameter;
}
public void addParameter(@NotNull String parameter) {
this.parameter.add(parameter);
}
@Override
public int hashCode() {
return new HashCodeBuilder()
.append(this.scope)
.append(this.name)
.append(new java.util.HashSet<>(this.parameter))
.toHashCode()
;
}
@Override
public boolean equals(Object obj) {
return obj instanceof ContainerBuilderCall &&
Objects.equals(((ContainerBuilderCall) obj).scope, this.scope) &&
Objects.equals(((ContainerBuilderCall) obj).name, this.scope) &&
Objects.equals(new java.util.HashSet<>(((ContainerBuilderCall) obj).parameter), new java.util.HashSet<>(this.parameter))
;
}
}