@Override public boolean equals(Object object) { return object instanceof UnsafePersistentCollection && ((UnsafePersistentCollection<?>)object).internalPersistentCollection() == persistentMap; } }
@Override public boolean equals(Object object) { return object instanceof UnsafePersistentCollection && ((UnsafePersistentCollection<?>)object).internalPersistentCollection() == persistentBag; } }
@Override public boolean equals(Object object) { return object instanceof UnsafePersistentCollection && ((UnsafePersistentCollection<?>)object).internalPersistentCollection() == persistentSet; } }
@Override public boolean equals(Object object) { return object instanceof UnsafePersistentCollection && ((UnsafePersistentCollection<?>)object).internalPersistentCollection() == persistentList; } }
@Override public boolean equals(Object object) { return object instanceof UnsafePersistentCollection && ((UnsafePersistentCollection<?>)object).internalPersistentCollection() == persistentSortedMap; } }
@Override public boolean equals(Object object) { return object instanceof UnsafePersistentCollection && ((UnsafePersistentCollection<?>)object).internalPersistentCollection() == persistentSortedSet; } }
@Override public Object getValue(Object instance) { try { Object fieldValue = field.get(instance); if (fieldValue instanceof ObservableValue) { Object wrappedValue = ((ObservableValue<?>)fieldValue).getValue(); if (wrappedValue instanceof UnsafePersistentCollection) return ((UnsafePersistentCollection<?>)wrappedValue).internalPersistentCollection(); if (wrappedValue instanceof ObservableListWrapper) return observableListWrapperField.get(wrappedValue); if (wrappedValue instanceof ObservableSetWrapper) return observableSetWrapperField.get(wrappedValue); if (wrappedValue instanceof ObservableMapWrapper) return observableMapWrapperField.get(wrappedValue); return wrappedValue; } return fieldValue; } catch (Exception e) { throw new RuntimeException("Could not get value of property " + field, e); } }
@Override public Object getObject(Object holder) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { Object fieldValue = property.getObject(holder); if (fieldValue instanceof ObservableValue) { Object wrappedValue = ((ObservableValue<?>)fieldValue).getValue(); if (wrappedValue instanceof UnsafePersistentCollection) return ((UnsafePersistentCollection<?>)wrappedValue).internalPersistentCollection(); if (wrappedValue instanceof ObservableListWrapper) return observableListWrapperField.get(wrappedValue); if (wrappedValue instanceof ObservableSetWrapper) return observableSetWrapperField.get(wrappedValue); if (wrappedValue instanceof ObservableMapWrapper) return observableMapWrapperField.get(wrappedValue); return wrappedValue; } return fieldValue; }