1 23 24 package org.objectweb.fractal.julia.control.binding; 25 26 import org.objectweb.fractal.api.Component; 27 import org.objectweb.fractal.api.NoSuchInterfaceException; 28 import org.objectweb.fractal.api.control.BindingController; 29 import org.objectweb.fractal.api.control.IllegalBindingException; 30 import org.objectweb.fractal.api.control.IllegalLifeCycleException; 31 import org.objectweb.fractal.api.control.LifeCycleController; 32 33 import org.objectweb.fractal.julia.control.lifecycle.ChainedIllegalLifeCycleException; 34 35 45 46 public abstract class LifeCycleBindingMixin implements BindingController { 47 48 52 private LifeCycleBindingMixin () { 53 } 54 55 59 70 71 public void unbindFc (final String clientItfName) throws 72 NoSuchInterfaceException, 73 IllegalBindingException, 74 IllegalLifeCycleException 75 { 76 if (_this_weaveableOptLC != null) { 77 String state = _this_weaveableOptLC.getFcState(); 78 if (!LifeCycleController.STOPPED.equals(state)) { 79 throw new ChainedIllegalLifeCycleException( 80 null, _this_weaveableOptC, "The component is not stopped"); 81 } 82 } 83 _super_unbindFc(clientItfName); 84 } 85 86 90 95 96 public Component _this_weaveableOptC; 97 98 103 104 public LifeCycleController _this_weaveableOptLC; 105 106 118 119 public abstract void _super_unbindFc (String clientItfName) throws 120 NoSuchInterfaceException, 121 IllegalBindingException, 122 IllegalLifeCycleException; 123 } 124 | Popular Tags |