1 19 package org.apache.cayenne.reflect.pojo; 20 21 import org.apache.cayenne.ValueHolder; 22 import org.apache.cayenne.reflect.Accessor; 23 import org.apache.cayenne.reflect.ClassDescriptor; 24 import org.apache.cayenne.reflect.ListProperty; 25 import org.apache.cayenne.reflect.PropertyException; 26 27 31 class EnhancedPojoToManyProperty extends ListProperty { 32 33 private EnhancedPojoPropertyFaultHandler faultHandler; 34 35 EnhancedPojoToManyProperty(ClassDescriptor owner, ClassDescriptor targetDescriptor, 36 Accessor accessor, String reverseName) { 37 super(owner, targetDescriptor, accessor, reverseName); 38 this.faultHandler = new EnhancedPojoPropertyFaultHandler( 39 owner.getObjectClass(), 40 getName()); 41 } 42 43 protected ValueHolder createCollectionValueHolder(Object object) throws PropertyException { 44 ValueHolder holder = super.createCollectionValueHolder(object); 45 faultHandler.setFaultProperty(object, false); 46 return holder; 47 } 48 49 public void invalidate(Object object) { 50 faultHandler.setFaultProperty(object, true); 51 } 52 53 public boolean isFault(Object object) { 54 return faultHandler.isFaultProperty(object); 55 } 56 } 57 | Popular Tags |