Adding pick maintenance program source code.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package pickMaint;
|
||||
|
||||
public class LoomDSKey {
|
||||
|
||||
private final int DATE;
|
||||
private final int SHIFT;
|
||||
private final int LOOM;
|
||||
private final int WEAVER;
|
||||
private final String TYPE;
|
||||
|
||||
public LoomDSKey(int date, int shift, int loom, int weaver, String type){
|
||||
this.DATE = date;
|
||||
this.SHIFT = shift;
|
||||
this.LOOM = loom;
|
||||
this.WEAVER = weaver;
|
||||
this.TYPE = type;
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
return DATE + "-" + SHIFT + "-" + LOOM + "-" + WEAVER + "-" + TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* All 5 components of the composite key must be equal
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof LoomDSKey)) return false;
|
||||
LoomDSKey key = (LoomDSKey) o;
|
||||
return DATE == key.DATE &&
|
||||
SHIFT == key.SHIFT &&
|
||||
LOOM == key.LOOM &&
|
||||
WEAVER == key.WEAVER &&
|
||||
TYPE.equalsIgnoreCase(key.TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obviously not a perfect hash; although I suspect collisions will be rare in our use case.
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = DATE * SHIFT;
|
||||
hash = hash + LOOM;
|
||||
hash = hash * (WEAVER / 2);
|
||||
hash = hash + TYPE.hashCode();
|
||||
return hash;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user