litesoft
@ 939
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.orsup.lazyload; import org.litesoft.commonfoundation.typeutils.*; import org.litesoft.orsup.base.*; import org.litesoft.orsup.nonpublic.*; import org.litesoft.orsup.otherattributeaccessors.*; public abstract class AbstractLazyLoadTo<Owner extends PersistentObjectImpl, Them extends PersistentObjectImpl> { protected Owner mOwner; protected boolean mLoaded = false; public AbstractLazyLoadTo( Owner pOwner, AbstractAttributeAccessorSCDtoPO<Owner, Them> pSCDtoPO ) { Objects.assertNotNull( "Owner", mOwner = pOwner ); Objects.assertNotNull( "AttributeAccessorSCDtoPO", pSCDtoPO ); } abstract public String getAttributeName(); abstract protected boolean isThemDependantOnUs(); public final boolean isLoaded() { return mLoaded; } public final boolean equals( AbstractLazyLoadTo pThem ) { return (this == pThem) || ((pThem != null) && this.getAttributeName().equals( pThem.getAttributeName() )); } @Override public final boolean equals( Object o ) { return (this == o) || ((o instanceof AbstractLazyLoadTo) && equals( (AbstractLazyLoadTo) o )); } @Override public final int hashCode() { return getAttributeName().hashCode(); } public void revertToNotLoaded() { if ( mLoaded ) { mLoaded = false; releaseLoadeds(); } } abstract protected void releaseLoadeds(); protected final void checkTransactions( Them pThem ) { if ( !Objects.areNonArraysEqual( pThem.getTransaction(), mOwner.getTransaction() ) ) { throw new IllegalStateException( "We, '" + display( mOwner ) + "' and '" + display( pThem ) + "', are not in the same Transaction" ); } } protected MetaDataForPO getPOMetaDataRequired( String pPersistedObjectRegistrationName ) { return getMetaDataForPO().getMetaDataStore().getMetaDataRequired( pPersistedObjectRegistrationName ); } protected MetaDataForPO getMetaDataForPO() { return mOwner.getMetaDataForPO(); } private String display( PersistentObject<?> pPO ) { return pPO.toString() + ":" + pPO.getPersistentObjectURL(); } } |
Commits for litesoft/trunk/Java/core/Server/src/org/litesoft/orsup/lazyload/AbstractLazyLoadTo.java
Revision | Author | Commited | Message |
---|---|---|---|
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
151 Diff | GeorgeS | Thu 17 Mar, 2011 04:16:22 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
24 Diff | GeorgeS | Wed 24 Feb, 2010 01:51:38 +0000 | |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |