DATACMNS-909 - Mask getDecoratedClass() of Spring 4.3's DecoratingProxy.

The proxies created for projections now defensively mask getDecoratedClass(), a method declared on DecoratingProxy, an interface that JDK proxies on Spring 4.3 will implement.
This commit is contained in:
Oliver Gierke
2016-09-06 21:59:37 +02:00
parent e294fb5ef4
commit 8ed2bca557
2 changed files with 66 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2015 the original author or authors.
* Copyright 2015-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
package org.springframework.data.projection;
import org.springframework.aop.RawTargetAccess;
import org.springframework.core.DecoratingProxy;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -41,4 +42,13 @@ public interface TargetAware extends org.springframework.aop.TargetClassAware, R
*/
@JsonIgnore
Object getTarget();
/**
* Re-declaration of Spring Framework 4.3's {@link DecoratingProxy#getDecoratedClass()} so that we can exclude it from
* Jackson serialization.
*
* @return
*/
@JsonIgnore
Class<?> getDecoratedClass();
}