public interface RuntimeInfo
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object o)
Compares the specified object with this runtime info for equality.
|
java.lang.String |
getExportStyleGroup()
Gets a style group for the export.
|
int |
hashCode()
Returns the hash code value for this runtime info.
|
boolean |
isHighPrecision()
Checks the precision of RuntimeInfo.
|
void |
setExportStyleGroup(java.lang.String styleGroup)
Sets a style group for the export to this info.
|
void |
setHighPrecision(boolean highPrecision)
Sets the precision for Runtimeinfo.
|
void setHighPrecision(boolean highPrecision)
highPrecision - If true, use high precision; if false, use low precision.boolean isHighPrecision()
void setExportStyleGroup(java.lang.String styleGroup)
styleGroup - The style group for the export.java.lang.String getExportStyleGroup()
boolean equals(java.lang.Object o)
boolean result = true;
if ( isPrimitive(info1) ){
switch ( info.type ){
case boolean:
case byte:
case char:
case int:
case short:
result = info1 == info2;
break;
case double:
result = new Double(info1).equals(new Double(info2));
break;
case float:
result = new Float(info1).equals(new Float(info2));
break;
case long:
result = new Long(info1).equals(new Long(info2));
break;
default :
}
}else{
if ( info1 is exportStyle {
if ( "".equals(info1) ) info1 = null;
if ( "".equals(info2) ) info2 = null;
}
result = info1 == null? (info2 == null): info1.equals(info2);
}
In other words, two runtime info are defined to be equal if they
contain the equal info. This definition ensures that the equal
method works properly across different implementations of the
RuntimeInfo interface.equals in class java.lang.Objecto - The object to be compared for equality with this runtime info.int hashCode()
hashCode = 1;
for ( each info ){
int c = 0;
if (isPrimitive(info)){
switch info.type{
case boolean:
c = info? 0: 1;
break;
case byte:
case char:
case int:
case short:
c = info;
break;
case double:
c = new Double(info).hashCode();
break;
case float:
c = new Float(info).hashCode();
break;
case long:
c = new Long(info).hashCode();
break;
default :
}
}else{
if ( info is exportStyle && "".equals(info) ) info = null;
c = info == null? 0: info.hashCode();
}
hashCode = 31 * hashCode + c;
}
This ensures that info1.equals(info2), which implies that
info1.hashCode()==info2.hashCode() for any two info,
info1 and info2, as required by the general
contract of Object.hashCode.hashCode in class java.lang.ObjectObject.hashCode(),
Object.equals(Object),
equals(Object)