1 package org.apache.maven.plugins.assembly.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.lang.reflect.Array;
23
24 import org.codehaus.plexus.component.configurator.ConfigurationListener;
25 import org.slf4j.Logger;
26
27
28
29
30 public class DebugConfigurationListener
31 implements ConfigurationListener
32 {
33 private final Logger logger;
34
35 public DebugConfigurationListener( Logger logger )
36 {
37 this.logger = logger;
38 }
39
40 @Override
41 public void notifyFieldChangeUsingSetter( String fieldName, Object value, Object target )
42 {
43 if ( logger.isDebugEnabled() )
44 {
45 logger.debug( " (s) " + fieldName + " = " + toString( value ) );
46 }
47 }
48
49 @Override
50 public void notifyFieldChangeUsingReflection( String fieldName, Object value, Object target )
51 {
52 if ( logger.isDebugEnabled() )
53 {
54 logger.debug( " (f) " + fieldName + " = " + toString( value ) );
55 }
56 }
57
58
59
60
61
62
63
64 private String toString( Object obj )
65 {
66 String str;
67 if ( obj != null && obj.getClass().isArray() )
68 {
69 int n = Array.getLength( obj );
70 StringBuilder buf = new StringBuilder( 256 );
71 buf.append( '[' );
72 for ( int i = 0; i < n; i++ )
73 {
74 if ( i > 0 )
75 {
76 buf.append( ", " );
77 }
78 buf.append( Array.get( obj, i ) );
79 }
80 buf.append( ']' );
81 str = buf.toString();
82 }
83 else
84 {
85 str = String.valueOf( obj );
86 }
87 return str;
88 }
89
90 }