container/services/src/main/java/org/mobicents/slee/runtime/sbbentity/ChildRelationImpl.java
public boolean remove(Object object) {
    	
    	sleeContainer.getTransactionManager().mandateTransaction();
        
    	if(logger.isDebugEnabled()) {
        	logger.debug("removing sbb local object " + object);
        }
        
        if (object == null)
            throw new NullPointerException("Null arg for remove ");
        
        if (!(object instanceof SbbLocalObject))
            return false;
        
    	final SbbLocalObjectImpl sbbLocalObjectImpl = (SbbLocalObjectImpl) object;
        if(!idBelongsToChildRelation(sbbLocalObjectImpl.getSbbEntityId()) && !sbbLocalObjectImpl.getSbbEntity().isRemoved()) {
        	return false;
        }
        else {
        	sbbLocalObjectImpl.remove();
        	return true;
        }
    }
public boolean remove(Object object) {
    	
    	sleeContainer.getTransactionManager().mandateTransaction();
        
    	if(logger.isDebugEnabled()) {
        	logger.debug("removing sbb local object " + object);
        }
        
        if (object == null)
            throw new NullPointerException("Null arg for remove ");
        
        if (!(object instanceof SbbLocalObject))
            return false;
        
    	final SbbLocalObjectImpl sbbLocalObjectImpl = (SbbLocalObjectImpl) object;
        if(!idBelongsToChildRelation(sbbLocalObjectImpl.getSbbEntityId()) && !sbbLocalObjectImpl.getSbbEntity().isRemoved()) {
        	return false;
        }
        else {
        	sbbLocalObjectImpl.remove();
        	return true;
        }
    }
public boolean remove ( Object object ) { sleeContainer . getTransactionManager ( ) . mandateTransaction ( ) ; if ( logger . isDebugEnabled ( ) ) { logger . debug ( "removing sbb local object " + object ) ; } if ( object == null ) throw new NullPointerException ( "Null arg for remove " ) ; if ( ! ( object instanceof SbbLocalObject ) ) return false ; final SbbLocalObjectImpl sbbLocalObjectImpl = ( SbbLocalObjectImpl ) object ; if ( ! idBelongsToChildRelation ( sbbLocalObjectImpl . getSbbEntityId ( ) ) && ! sbbLocalObjectImpl . getSbbEntity ( ) . isRemoved ( ) ) { return false ; } else { sbbLocalObjectImpl . remove ( ) ; return true ; } }
Spec page 62 The remove methods: clear, remove, removeAll, and retainAll.
o These methods may remove SBB entities from the child relation. The
input argument specifies which SBB entities will be removed from the
child relation or retained in the child relation by specifying the SBB
local object or collection of SBB local objects that represent the SBB
entities to be removed or retained. o Removing an SBB entity from a child
relation initiates a cascading removal of the SBB entity tree rooted by
the SBB entity, similar to invoking the remove method on an SBB local
object that represents the SBB entity.
Spec page 62 The remove methods : clear remove removeAll and retainAll . o These methods may remove SBB entities from the child relation . The input argument specifies which SBB entities will be removed from the child relation or retained in the child relation by specifying the SBB local object or collection of SBB local objects that represent the SBB entities to be removed or retained . o Removing an SBB entity from a child relation initiates a cascading removal of the SBB entity tree rooted by the SBB entity similar to invoking the remove method on an SBB local object that represents the SBB entity .