package org.qi4j.api.property; /** * If you want to catch getting and setting properties, then create a GenericConcern * that wraps the Qi4j-supplied Property instance with PropertyWrappers. Override * get() and/or set() to perform your custom code. */ public class PropertyWrapper implements Property<Object> { protected Property<Object> next; public PropertyWrapper( Property<Object> next ) { this.next = next; } public Property<Object> next() { return next; } @Override public Object get() { return next.get(); } @Override public void set( Object newValue ) throws IllegalArgumentException, IllegalStateException { next.set( newValue ); } @Override public int hashCode() { return next.hashCode(); } @Override public boolean equals( Object obj ) { return next.equals( obj ); } @Override public String toString() { return next.toString(); } }