in yoko-core/src/main/java/org/apache/yoko/orb/DynamicAny/DynSeqBase_impl.java [780:896]
public synchronized boolean equal(org.omg.DynamicAny.DynAny dyn_any) {
if (destroyed_)
throw new org.omg.CORBA.OBJECT_NOT_EXIST();
if (this == dyn_any)
return true;
if (!dyn_any.type().equivalent(type_))
return false;
if (length_ != dyn_any.component_count())
return false;
if (length_ == 0)
return true;
DynSeqBase_impl seq = (DynSeqBase_impl) dyn_any;
if (primitive_) {
switch (contentKind_.value()) {
case org.omg.CORBA.TCKind._tk_short:
case org.omg.CORBA.TCKind._tk_ushort: {
short[] buf1 = (short[]) buf_;
short[] buf2 = (short[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_long:
case org.omg.CORBA.TCKind._tk_ulong: {
int[] buf1 = (int[]) buf_;
int[] buf2 = (int[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_float: {
float[] buf1 = (float[]) buf_;
float[] buf2 = (float[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_double: {
double[] buf1 = (double[]) buf_;
double[] buf2 = (double[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_boolean: {
boolean[] buf1 = (boolean[]) buf_;
boolean[] buf2 = (boolean[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_char:
case org.omg.CORBA.TCKind._tk_wchar: {
char[] buf1 = (char[]) buf_;
char[] buf2 = (char[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_octet: {
byte[] buf1 = (byte[]) buf_;
byte[] buf2 = (byte[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
case org.omg.CORBA.TCKind._tk_string:
case org.omg.CORBA.TCKind._tk_wstring: {
String[] buf1 = (String[]) buf_;
String[] buf2 = (String[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (!buf1[i].equals(buf2[i]))
return false;
break;
}
case org.omg.CORBA.TCKind._tk_longlong:
case org.omg.CORBA.TCKind._tk_ulonglong: {
long[] buf1 = (long[]) buf_;
long[] buf2 = (long[]) seq.buf_;
for (int i = 0; i < length_; i++)
if (buf1[i] != buf2[i])
return false;
break;
}
default:
org.apache.yoko.orb.OB.Assert._OB_assert("Unsupported sequence type");
}
} else {
for (int i = 0; i < length_; i++)
if (!components_[i].equal(seq.components_[i]))
return false;
}
return true;
}