litesoft
@ 822
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.core.simpletypes; import org.litesoft.core.simpletypes.nonpublic.*; import org.litesoft.core.typeutils.*; public abstract class SimpleKeyValuePair<T extends SimpleKeyValuePair> extends CompareSupport<T> implements SimpleType { public static final SimpleKeyValuePair[] EMPTY_ARRAY = new SimpleKeyValuePair[0]; abstract public Object getKey(); abstract public Object getValue(); public String toStringValue() { return Objects.toStringNullToEmpty( getValue() ); } @Override public String toString() { return getWhatWeAre() + "( " + getKey() + ", " + getValue() + LLtoStringSuffix(); } protected String LLtoStringSuffix() { return " )"; } protected String getWhatWeAre() { return "SimpleKeyValuePair"; } @Override public boolean equals( Object o ) { return (this == o) || // ((o instanceof SimpleKeyValuePair) && equals( (SimpleKeyValuePair) o )); } public boolean equals( SimpleKeyValuePair them ) { return (this == them) || // ((them != null) && // equal( this.getKey(), them.getKey() ) && // equal( this.getValue(), them.getValue() ) && // LLequalsSuffix( them )); } // Subclass cross over pattern protected boolean LLequalsSuffix( SimpleKeyValuePair them ) { return them.LLLequalsSuffix( this ); } // Subclass cross over pattern protected boolean LLLequalsSuffix( SimpleKeyValuePair them ) { return true; } @Override public int hashCode() { return hashCodeEm( calcHashCode( getKey() ), // calcHashCode( getValue() ), // LLhashCodeSuffix() ); } protected int LLhashCodeSuffix() { return 0; } @Override public int compareTo( T them ) { return compareEm( compareObjects( this.getValue(), them.getValue() ), // compareObjects( this.getKey(), them.getKey() ), // LLcompareToSuffix( them ) ); } // Subclass cross over pattern protected int LLcompareToSuffix( SimpleKeyValuePair them ) { return them.LLLcompareToSuffix( this ); } // Subclass cross over pattern protected int LLLcompareToSuffix( SimpleKeyValuePair them ) { return 0; } } |