private static BasicSetter getSetterOrNull(Class theClass, String propertyName) { if (theClass==Object.class || theClass==null) return null; Method method = setterMethod(theClass, propertyName); if (method!=null) { if ( !ReflectHelper.isPublic(theClass, method) ) method.setAccessible(true); return new BasicSetter(theClass, method, propertyName); } else { BasicSetter setter = getSetterOrNull( theClass.getSuperclass(), propertyName ); if (setter==null) { Class[] interfaces = theClass.getInterfaces(); for ( int i=0; setter==null && i<interfaces.length; i++ ) { setter=getSetterOrNull( interfaces[i], propertyName ); } } return setter;
private static BasicGetter getGetterOrNull(Class theClass, String propertyName) { if (theClass==Object.class || theClass==null) return null; Method method = getterMethod(theClass, propertyName); if (method!=null) { if ( !ReflectHelper.isPublic(theClass, method) ) method.setAccessible(true); return new BasicGetter(theClass, method, propertyName); } else { BasicGetter getter = getGetterOrNull( theClass.getSuperclass(), propertyName ); if (getter==null) { Class[] interfaces = theClass.getInterfaces(); for ( int i=0; getter==null && i<interfaces.length; i++ ) { getter=getGetterOrNull( interfaces[i], propertyName ); } } return getter;
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/property/BasicPropertyAccessor.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/property/BasicPropertyAccessor.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
private static BasicSetter getSetterOrNull(Class theClass, String propertyName) {
1
private static BasicGetter getGetterOrNull(Class theClass, String propertyName) {
2
		if (theClass==Object.class || theClass==null) return null;
2
		if (theClass==Object.class || theClass==null) return null;
3
		Method method = setterMethod(theClass, propertyName);
3
		Method method = getterMethod(theClass, propertyName);
4
		if (method!=null) {
4
		if (method!=null) {
5
			if ( !ReflectHelper.isPublic(theClass, method) ) method.setAccessible(true);
5
			if ( !ReflectHelper.isPublic(theClass, method) ) method.setAccessible(true);
6
			return new BasicSetter(theClass, method, propertyName);
6
			return new BasicGetter(theClass, method, propertyName);
7
		}
7
		}
8
		else {
8
		else {
9
			BasicSetter setter = getSetterOrNull( theClass.getSuperclass(), propertyName );
9
			BasicGetter getter = getGetterOrNull( theClass.getSuperclass(), propertyName );
10
			if (setter==null) {
10
			if (getter==null) {
11
				Class[] interfaces = theClass.getInterfaces();
11
				Class[] interfaces = theClass.getInterfaces();
12
				for ( int i=0; setter==null && i<interfaces.length; i++ ) {
12
				for ( int i=0; getter==null && i<interfaces.length; i++ ) {
13
					setter=getSetterOrNull( interfaces[i], propertyName );
13
					getter=getGetterOrNull( interfaces[i], propertyName );
14
				}
14
				}
15
			}
15
			}
16
			return setter;
16
			return getter;
17
		
17
		
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0