mirror of
https://github.com/querydsl/querydsl.git
synced 2026-07-03 21:07:49 +08:00
Merge pull request #23 from querydsl/querydsl-i1262
Traverse superclasses for a visible class
This commit is contained in:
commit
33551e332e
@ -13,11 +13,8 @@
|
||||
*/
|
||||
package com.mysema.codegen.support;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author tiwe
|
||||
@ -91,6 +88,8 @@ public final class ClassUtils {
|
||||
if (zuper != null && !Object.class.equals(zuper)) {
|
||||
return zuper;
|
||||
}
|
||||
} else if (!Modifier.isPublic(clazz.getModifiers())) {
|
||||
return normalize(clazz.getSuperclass());
|
||||
}
|
||||
return clazz;
|
||||
}
|
||||
|
||||
@ -7,17 +7,13 @@ package com.mysema.codegen.support;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.collect.Ordering;
|
||||
|
||||
public class ClassUtilsTest {
|
||||
|
||||
@Test
|
||||
@ -52,4 +48,15 @@ public class ClassUtilsTest {
|
||||
// assertEquals(Collection.class, ClassUtils.normalize(Bag.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void Normalize_Accessibility() {
|
||||
//com.google.common.base.Absent is not public, cannot be accessed from outside package
|
||||
assertEquals(Optional.class, ClassUtils.normalize(Optional.absent().getClass()));
|
||||
//com.google.common.collect.AllEqualOrdering is not public, cannot be accessed from outside package
|
||||
assertEquals(Ordering.class, ClassUtils.normalize(Ordering.allEqual().getClass()));
|
||||
|
||||
//TODO interface normalization support? How to know which one?
|
||||
//com.google.common.base.Functions.ToStringFunction is not public, cannot be accessed from outside package
|
||||
//assertEquals(Function.class, ClassUtils.normalize(Functions.toStringFunction().getClass()));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user