org.netbeans.modules.bpel.model.impl
Class ReferenceIntegrityService

java.lang.Object
  extended by org.netbeans.modules.bpel.model.impl.services.InnerEventDispatcherAdapter
      extended by org.netbeans.modules.bpel.model.impl.ReferenceIntegrityService
All Implemented Interfaces:
InnerEventDispatcher

public class ReferenceIntegrityService
extends InnerEventDispatcherAdapter

This is service that reponsible for reference integrity in OM. There are possible events that can affect other entities in model: 1) changing attribute of reference => all corresponded ReferenceCollection elements should update their reference attribute ( actully this is their implementation, we just call method update for ReferenceCollection ). 2) Removing attribute. ????

Author:
ads

Constructor Summary
ReferenceIntegrityService()
           
 
Method Summary
 boolean isApplicable(ChangeEvent event)
          This method called for checking either we need to call this visitor for event.
 void postDispatch(ChangeEvent event)
          This method will be called after action on model was performed.
 void preDispatch(ChangeEvent event)
          This method will be called before action on model will be performed.
 void reset(ChangeEvent event)
          This method is called when some exception is detected in one of dispatchers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReferenceIntegrityService

public ReferenceIntegrityService()
Method Detail

isApplicable

public boolean isApplicable(ChangeEvent event)
Description copied from interface: InnerEventDispatcher
This method called for checking either we need to call this visitor for event.

Specified by:
isApplicable in interface InnerEventDispatcher
Overrides:
isApplicable in class InnerEventDispatcherAdapter
Parameters:
event - Fired event.
Returns:
Is applicable this visitor for event.

preDispatch

public void preDispatch(ChangeEvent event)
Description copied from interface: InnerEventDispatcher
This method will be called before action on model will be performed. This method could throw VetoException. It should not throw any exception on events about accessing to children ( setting/adding/removing child in parent ). This is because OM doesn't have methods that could be incorrectly used. Only setting incorrect attribute value could throw such exception.

Specified by:
preDispatch in interface InnerEventDispatcher
Overrides:
preDispatch in class InnerEventDispatcherAdapter
Parameters:
event - Event that will be fired after OM will be changed. It is not yet happened.

postDispatch

public void postDispatch(ChangeEvent event)
Description copied from interface: InnerEventDispatcher
This method will be called after action on model was performed. It could perform additional changes in OM based on event information. F.e. it could change name of attribute that reference to some entity by name and this name was changed.

Specified by:
postDispatch in interface InnerEventDispatcher
Overrides:
postDispatch in class InnerEventDispatcherAdapter
Parameters:
event - Event that fired by OM after change was performed.

reset

public void reset(ChangeEvent event)
Description copied from interface: InnerEventDispatcher
This method is called when some exception is detected in one of dispatchers. Then all dispatchers that collect some information on preDispatch stage can clear this information. Suggested use - when one of inner dispatchers throws VetoException then all diaspatchers need to clean internal state, because postDispatch will never be called.

Specified by:
reset in interface InnerEventDispatcher
Overrides:
reset in class InnerEventDispatcherAdapter
Parameters:
event - Event that fired by OM after change was performed.