litesoft
@ 954
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 |
package org.litesoft.security; import org.litesoft.bo.views.server.*; import org.litesoft.core.*; public abstract class AbstractCurrentSecurityRestrictedResourceAccessor<PO extends SecurityRestrictedResource<PO>, VO extends SecurityRestrictedResourceView<VO>> extends AbstractCurrentSecurityPOAccessor<PO, VO> { protected AbstractCurrentSecurityRestrictedResourceAccessor( Class<PO> pClassPO, Class<VO> pClassVO, PoServerVoDataProvider<VO> pDataProvider ) { super( "RestrictedResource", pClassPO, pClassVO, pDataProvider ); } public PO getRequiredRestrictedResource() { PO zRestrictedResource = getOptionalRestrictedResource(); if ( zRestrictedResource == null ) { throw new SessionExpiredException( "No Current RestrictedResource" ); } return zRestrictedResource; } public PO getOptionalRestrictedResource() { Pair<PO, VO> zPair = getPair(); if ( zPair.getVO() == null ) { return null; } if ( (zPair.getPO() == null) || !zPair.inSync() ) { zPair = refresh( zPair ); } return zPair.getPO(); } public VO getRestrictedResourceView() { Pair<PO, VO> zPair = getPair(); if ( zPair.isStale() ) { zPair = refresh( zPair ); } return zPair.getVO(); } public VO updateRestrictedResource( PO pPO ) { VO zView = mDataProvider.createView( pPO, false ); update( zView, pPO ); return zView; } protected Pair<PO, VO> getPair() { return createPair( getCachedInstance() ); } } |