01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.aspectwerkz.reflect;
05:
06: /**
07: * Inspects info.
08: *
09: * @author <a href="mailto:alex@gnilux.com">Alexandre Vasseur </a>
10: */
11: public class MetaDataInspector {
12: /**
13: * Checks if a class has a certain field.
14: *
15: * @param classInfo
16: * @param fieldName
17: * @return
18: */
19: public static boolean hasField(final ClassInfo classInfo,
20: final String fieldName) {
21: for (int i = 0; i < classInfo.getFields().length; i++) {
22: FieldInfo fieldMetaData = classInfo.getFields()[i];
23: if (fieldMetaData.getName().equals(fieldName)) {
24: return true;
25: }
26: }
27: return false;
28: }
29:
30: /**
31: * Checks if a class implements a certain interface.
32: *
33: * @param classInfo
34: * @param interfaceName
35: * @return
36: */
37: public static boolean hasInterface(final ClassInfo classInfo,
38: final String interfaceName) {
39: for (int i = 0; i < classInfo.getInterfaces().length; i++) {
40: ClassInfo interfaceMetaData = classInfo.getInterfaces()[i];
41: if (interfaceMetaData.getName().equals(interfaceName)) {
42: return true;
43: }
44: }
45: return false;
46: }
47: }
|