package InventorySystem;
abstract public class _InventoryImplBase extends org.omg.CORBA.portable.Skeleton implements InventorySystem.Inventory {
  protected InventorySystem.Inventory _wrapper = null;
  public InventorySystem.Inventory _this() {
    return this;
  }
  protected _InventoryImplBase(java.lang.String name) {
    super(name);
  }
  public _InventoryImplBase() {
  }
  public java.lang.String[] _ids() {
    return __ids;
  }
  private static java.lang.String[] __ids = {
    "IDL:InventorySystem/Inventory:1.0"
  };
  public org.omg.CORBA.portable.MethodPointer[] _methods() {
    org.omg.CORBA.portable.MethodPointer[] methods = {
      new org.omg.CORBA.portable.MethodPointer("addCatalogItem", 0, 0),
      new org.omg.CORBA.portable.MethodPointer("inInventory", 0, 1),
      new org.omg.CORBA.portable.MethodPointer("getCatalogItems", 0, 2),
      new org.omg.CORBA.portable.MethodPointer("getQuantityInInventory", 0, 3),
      new org.omg.CORBA.portable.MethodPointer("_get_catalogItemsArray", 0, 4),
    };
    return methods;
  }
  public boolean _execute(org.omg.CORBA.portable.MethodPointer method, org.omg.CORBA.portable.InputStream input, org.omg.CORBA.portable.OutputStream output) {
    switch(method.interface_id) {
    case 0: {
      return InventorySystem._InventoryImplBase._execute(_this(), method.method_id, input, output); 
    }
    }
    throw new org.omg.CORBA.MARSHAL();
  }
  public static boolean _execute(InventorySystem.Inventory _self, int _method_id, org.omg.CORBA.portable.InputStream _input, org.omg.CORBA.portable.OutputStream _output) {
    switch(_method_id) {
    case 0: {
      InventorySystem.CatalogItem inItem;
      inItem = InventorySystem.CatalogItemHelper.read(_input);
      _self.addCatalogItem(inItem);
      return false;
    }
    case 1: {
      InventorySystem.CatalogItem inItem;
      inItem = InventorySystem.CatalogItemHelper.read(_input);
      boolean _result = _self.inInventory(inItem);
      _output.write_boolean(_result);
      return false;
    }
    case 2: {
      InventorySystem.CatalogItem[] _result = _self.getCatalogItems();
      InventorySystem.CatalogItemArrayHelper.write(_output, _result);
      return false;
    }
    case 3: {
      InventorySystem.CatalogItem inItem;
      inItem = InventorySystem.CatalogItemHelper.read(_input);
      int _result = _self.getQuantityInInventory(inItem);
      _output.write_long(_result);
      return false;
    }
    case 4: {
      InventorySystem.CatalogItem[] _result = _self.catalogItemsArray();
      InventorySystem.CatalogItemArrayHelper.write(_output, _result);
      return false;
    }
    }
    throw new org.omg.CORBA.MARSHAL();
  }
}
