litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.orsup.otherattributeaccessors; import org.litesoft.orsup.base.*; import org.litesoft.orsup.lazyload.*; import org.litesoft.orsup.nonpublic.*; public abstract class AttributeAccessorSCDtoOneCommonPaired<Owner extends PersistentObjectImpl> extends AbstractAttributeAccessorSCDtoOne<Owner, PersistentObjectImpl> implements ToVariable { protected AttributeAccessorSCDtoOneCommonPaired( String pName, String pColumnName ) { super( pName, pColumnName, null, null, null, true, true, _ToOneCommonPaired ); } abstract public void pairReplaced( Owner pPO, PersistentObjectImpl pOldPO, PersistentObjectImpl pNewPO ); @Override public Object db_getValueOnPO( Owner pPO ) { return getValueHolder( pPO ).db_getValue(); } @Override public void db_setValueOnPO( Owner pPO, Object pValue ) { String value = null; if ( pValue != null ) { if ( !(pValue instanceof String) ) { throw new IllegalArgumentException( "Common Paired To One relationship is stored as a String, Not type (" + pValue.getClass() + ") w/ value: " + pValue ); } value = pValue.toString(); } getValueHolder( pPO ).db_setValue( value ); } @Override abstract public LazyLoadToOneCommonPaired<Owner> getValueHolder( Owner pPO ); } |