/** * Determine if two instances are equal * * @param one One instance * @param another The other instance * * @return True if the two are considered equal; false otherwise. */ default boolean areEqual(T one, T another) { return Objects.deepEquals( one, another ); }
@Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof Pair)) { return false; } Pair<?, ?> otherPair = (Pair<?, ?>) other; // Arrays are very common as values and keys, so deepEquals is mandatory return Objects.deepEquals(this.first, otherPair.first) && Objects.deepEquals(this.second, otherPair.second); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof DataPoint)) { return false; } DataPoint dataPoint = (DataPoint) o; return Objects.equals(name, dataPoint.name) && Objects.deepEquals(value, dataPoint.value); }
@Override public boolean equals(Object obj) { return obj instanceof ApexQualifiedName && Objects.deepEquals(classes, ((ApexQualifiedName) obj).classes) && Objects.equals(operation, ((ApexQualifiedName) obj).operation) && Objects.equals(nameSpace, ((ApexQualifiedName) obj).nameSpace); }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } final ReplyMessage other = (ReplyMessage) obj; return Objects.equals(this.commandIdentifier, other.commandIdentifier) && Objects.equals(this.payloadType, other.payloadType) && Objects.equals(this.payloadRevision, other.payloadRevision) && Objects.deepEquals(this.serializedPayload, other.serializedPayload) && Objects.deepEquals(this.exceptionType, other.exceptionType) && Objects.deepEquals(this.exceptionRevision, other.exceptionRevision) && Objects.deepEquals(this.serializedException, other.serializedException) && Objects.deepEquals(this.serializedMetaData, other.serializedMetaData); }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } final DispatchMessage other = (DispatchMessage) obj; return Objects.equals(this.commandIdentifier, other.commandIdentifier) && Objects.deepEquals(this.serializedMetaData, other.serializedMetaData) && Objects.equals(this.payloadType, other.payloadType) && Objects.equals(this.payloadRevision, other.payloadRevision) && Objects.deepEquals(this.serializedPayload, other.serializedPayload) && Objects.equals(this.commandName, other.commandName) && Objects.equals(this.expectReply, other.expectReply); }
public static boolean entitiesEqual(SessionImplementor session, String entityName, Object obj1, Object obj2) { final Object id1 = getIdentifier( session, entityName, obj1 ); final Object id2 = getIdentifier( session, entityName, obj2 ); return Objects.deepEquals( id1, id2 ); }
for (final Method method : methodArray) { if (methodName.equals(method.getName()) && Objects.deepEquals(parameterTypes, method.getParameterTypes())) { return method; } else if (methodName.equals(method.getName()) &&
public static AnnotationSpec get(Annotation annotation, boolean includeDefaultValues) { Builder builder = builder(annotation.annotationType()); try { Method[] methods = annotation.annotationType().getDeclaredMethods(); Arrays.sort(methods, Comparator.comparing(Method::getName)); for (Method method : methods) { Object value = method.invoke(annotation); if (!includeDefaultValues) { if (Objects.deepEquals(value, method.getDefaultValue())) { continue; } } if (value.getClass().isArray()) { for (int i = 0; i < Array.getLength(value); i++) { builder.addMemberForValue(method.getName(), Array.get(value, i)); } continue; } if (value instanceof Annotation) { builder.addMember(method.getName(), "$L", get((Annotation) value)); continue; } builder.addMemberForValue(method.getName(), value); } } catch (Exception e) { throw new RuntimeException("Reflecting " + annotation + " failed!", e); } return builder.build(); }
@Override public boolean equals(Object that) { if (this == that) { return true; } if (that == null || getClass() != that.getClass()) { return false; } if (!Objects.equals(getKey(), ((Modifier) that).getKey())) { return false; } return Objects.deepEquals(getValue(), ((Modifier) that).getValue()); }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof NodeConnectionStatus)) { return false; } NodeConnectionStatus other = (NodeConnectionStatus) obj; return Objects.deepEquals(getNodeIdentifier(), other.getNodeIdentifier()) && Objects.deepEquals(getState(), other.getState()); } }
private boolean areEqual(Object newObj, Object oldObj) { // Should a Type have been specified on the property mapper, delegate there to make sure // that proper equality comparison occurs based on the Type's semantics rather than the // generalized EqualsHelper #areEqual call. if ( propertyData.getType() != null ) { return propertyData.getType().isEqual( newObj, oldObj ); } // todo (6.0) - Confirm if this is still necessary as everything should use a JavaTypeDescriptor. // This was maintained for legacy 5.2 behavior only. return Objects.deepEquals( newObj, oldObj ); } }
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof SerializedForm)) { return false; } final SerializedForm other = (SerializedForm) obj; return other.getMimeType().equals(mimeType) && Objects.deepEquals(other.getSerialized(), getSerialized()); } };
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof SerializedForm)) { return false; } final SerializedForm other = (SerializedForm) obj; return other.getMimeType().equals(mimeType) && Objects.deepEquals(other.getSerialized(), getSerialized()); } };
@Test public void testSplitByCharacterType() { assertNull(StringUtils.splitByCharacterType(null)); assertEquals(0, StringUtils.splitByCharacterType("").length); assertTrue(Objects.deepEquals(new String[]{"ab", " ", "de", " ", "fg"}, StringUtils.splitByCharacterType("ab de fg"))); assertTrue(Objects.deepEquals(new String[]{"ab", " ", "de", " ", "fg"}, StringUtils.splitByCharacterType("ab de fg"))); assertTrue(Objects.deepEquals(new String[]{"ab", ":", "cd", ":", "ef"}, StringUtils.splitByCharacterType("ab:cd:ef"))); assertTrue(Objects.deepEquals(new String[]{"number", "5"}, StringUtils.splitByCharacterType("number5"))); assertTrue(Objects.deepEquals(new String[]{"foo", "B", "ar"}, StringUtils.splitByCharacterType("fooBar"))); assertTrue(Objects.deepEquals(new String[]{"foo", "200", "B", "ar"}, StringUtils.splitByCharacterType("foo200Bar"))); assertTrue(Objects.deepEquals(new String[]{"ASFR", "ules"}, StringUtils.splitByCharacterType("ASFRules"))); }
@Test public void testSplitByCharacterTypeCamelCase() { assertNull(StringUtils.splitByCharacterTypeCamelCase(null)); assertEquals(0, StringUtils.splitByCharacterTypeCamelCase("").length); assertTrue(Objects.deepEquals(new String[]{"ab", " ", "de", " ", "fg"}, StringUtils.splitByCharacterTypeCamelCase("ab de fg"))); assertTrue(Objects.deepEquals(new String[]{"ab", " ", "de", " ", "fg"}, StringUtils.splitByCharacterTypeCamelCase("ab de fg"))); assertTrue(Objects.deepEquals(new String[]{"ab", ":", "cd", ":", "ef"}, StringUtils.splitByCharacterTypeCamelCase("ab:cd:ef"))); assertTrue(Objects.deepEquals(new String[]{"number", "5"}, StringUtils.splitByCharacterTypeCamelCase("number5"))); assertTrue(Objects.deepEquals(new String[]{"foo", "Bar"}, StringUtils.splitByCharacterTypeCamelCase("fooBar"))); assertTrue(Objects.deepEquals(new String[]{"foo", "200", "Bar"}, StringUtils.splitByCharacterTypeCamelCase("foo200Bar"))); assertTrue(Objects.deepEquals(new String[]{"ASF", "Rules"}, StringUtils.splitByCharacterTypeCamelCase("ASFRules"))); }
/** * */ @Test public void testDateArrayOverride() { GridBinaryTestClasses.TestObjectContainer obj = new GridBinaryTestClasses.TestObjectContainer(); BinaryObjectBuilderImpl mutableObj = wrap(obj); Date[] arr = {new Date()}; mutableObj.setField("foo", arr, Object.class); GridBinaryTestClasses.TestObjectContainer res = mutableObj.build().deserialize(); assertEquals(Date[].class, res.foo.getClass()); assertTrue(Objects.deepEquals(arr, res.foo)); }
/** * */ @Test public void testTimestampArrayOverride() { GridBinaryTestClasses.TestObjectContainer obj = new GridBinaryTestClasses.TestObjectContainer(); BinaryObjectBuilderImpl mutableObj = wrap(obj); Timestamp[] arr = {new Timestamp(100020003)}; mutableObj.setField("foo", arr, Object.class); GridBinaryTestClasses.TestObjectContainer res = mutableObj.build().deserialize(); assertEquals(Timestamp[].class, res.foo.getClass()); assertTrue(Objects.deepEquals(arr, res.foo)); }
/** * */ @Test public void testOverrideObjectArrayField() { BinaryObjectBuilderImpl mutObj = wrap(new GridBinaryTestClasses.TestObjectContainer()); Object[] createdArr = {mutObj, "a", 1, new String[] {"s", "s"}, new byte[] {1, 2}, new UUID(3, 0)}; mutObj.setField("foo", createdArr.clone(), Object.class); GridBinaryTestClasses.TestObjectContainer res = mutObj.build().deserialize(); createdArr[0] = res; assertTrue(Objects.deepEquals(createdArr, res.foo)); }
/** * @throws Exception If failed. */ @Test public void testNestedReadWriteObject() throws Exception { NestedReadWriteObject[] arr = new NestedReadWriteObject[5]; arr[0] = new NestedReadWriteObject(null, null, 1, "n1"); arr[1] = new NestedReadWriteObject(arr[0], null, 2, "n2"); arr[2] = new NestedReadWriteObject(null, arr[0], 3, "n3"); arr[3] = new NestedReadWriteObject(arr[1], arr[2], 4, "n4"); arr[4] = new NestedReadWriteObject(arr[3], arr[0], 5, "n4"); assertTrue(Objects.deepEquals(arr, marshalUnmarshal(arr))); }