package org.archstudio.myx.fw; import java.util.List; class MyxBasicWeld implements IMyxWeld { private static final long serialVersionUID = 7382920318037362753L; protected final List<? extends IMyxName> requiredPath; protected final IMyxName requiredBrickName; protected final IMyxName requiredInterfaceName; protected final List<? extends IMyxName> providedPath; protected final IMyxName providedBrickName; protected final IMyxName providedInterfaceName; public MyxBasicWeld(List<? extends IMyxName> requiredPath, IMyxName requiredBrickName, IMyxName requiredInterfaceName, List<? extends IMyxName> providedPath, IMyxName providedBrickName, IMyxName providedInterfaceName) { this.requiredPath = requiredPath; this.requiredBrickName = requiredBrickName; this.requiredInterfaceName = requiredInterfaceName; this.providedPath = providedPath; this.providedBrickName = providedBrickName; this.providedInterfaceName = providedInterfaceName; } @Override public IMyxName getProvidedBrickName() { return providedBrickName; } @Override public IMyxName getProvidedInterfaceName() { return providedInterfaceName; } @Override public List<? extends IMyxName> getProvidedPath() { return providedPath; } @Override public IMyxName getRequiredBrickName() { return requiredBrickName; } @Override public IMyxName getRequiredInterfaceName() { return requiredInterfaceName; } @Override public List<? extends IMyxName> getRequiredPath() { return requiredPath; } @Override public int hashCode() { return MyxUtils.hc(requiredPath) ^ MyxUtils.hc(requiredBrickName) ^ MyxUtils.hc(requiredInterfaceName) ^ MyxUtils.hc(providedPath) ^ MyxUtils.hc(providedBrickName) ^ MyxUtils.hc(providedInterfaceName); } @Override public boolean equals(Object o) { return o == this || MyxUtils.classeq(this, o) && MyxUtils.nulleq(this.requiredPath, ((MyxBasicWeld) o).requiredPath) && MyxUtils.nulleq(this.requiredBrickName, ((MyxBasicWeld) o).requiredBrickName) && MyxUtils.nulleq(this.requiredInterfaceName, ((MyxBasicWeld) o).requiredInterfaceName) && MyxUtils.nulleq(this.providedPath, ((MyxBasicWeld) o).providedPath) && MyxUtils.nulleq(this.providedBrickName, ((MyxBasicWeld) o).providedBrickName) && MyxUtils.nulleq(this.providedInterfaceName, ((MyxBasicWeld) o).providedInterfaceName); } @Override public String toString() { return "MyxBasicWeld{requiredPath=" + MyxUtils.pathToString(requiredPath) + "; requiredBrickName=" + requiredBrickName + "; requiredInterfaceName=" + requiredInterfaceName + "; providedPath=" + MyxUtils.pathToString(providedPath) + "; providedBrickName=" + providedBrickName + "; providedInterfaceName=" + providedInterfaceName + "}"; } }