/**
  * ************************************************ DEPSPACE INTERFACE IMPLEMENTATION *
  * ************************************************
  */
 public void out(DepTuple tuple, Context ctx) throws DepSpaceException {
   if (policyEnforcer.canExecuteOut(ctx.getInvokerId(), tuple, ctx)) {
     upperLayer.out(tuple, ctx);
   } else {
     throw new DepSpaceOperationNotAllowed("out", ctx.getInvokerId(), tuple);
   }
 }
 public DepTuple inp(DepTuple template, Context ctx) throws DepSpaceException {
   if (policyEnforcer.canExecuteInp(ctx.getInvokerId(), template, ctx)) {
     return upperLayer.inp(template, ctx);
   } else {
     throw new DepSpaceOperationNotAllowed("inp", ctx.getInvokerId(), template);
   }
 }
 public Collection<DepTuple> rdAll(DepTuple template, Context ctx) throws DepSpaceException {
   if (policyEnforcer.canExecuteRdAll(ctx.getInvokerId(), template, ctx)) {
     return upperLayer.rdAll(template, ctx);
   } else {
     throw new DepSpaceOperationNotAllowed("rdAll", ctx.getInvokerId(), template);
   }
 }