1 Reply Latest reply on Sep 15, 2018 6:32 AM by Ifor Darby-Hoskin

    Can't call Inventory.perform(RFIDReader, PostFilter, ...) in API3

    Dwight Fowler



      I just updated my app from API3 the new API3 library. I have an existing call to start inventorying:


      reader.Actions.Inventory.perform(myPostFilter, someTriggerInfo, myAntennaInfo);


      Now my application can't compile. It's complaining about 'myPostFilter'. Apparently, the PostFilterInfo class doesn't exist anymore. I took a look at the com.zebra.rfid.api3.Inventory class and I found this:


      public void perform(bh postFilterInfo, TriggerInfo triggerInfo, AntennaInfo antennaInfo)


      Looking at the com.zebra.rfid.api3.bh class, it appears to be a default-internal class

      // Source code recreated from a .class file by IntelliJ IDEA
      // (powered by Fernflower decompiler)
      package com.zebra.rfid.api3;
      class bh {
           public TagPatternBase a;
           public TagPatternBase b;
           public bz c;
           private FILTER_MATCH_PATTERN d;
           private boolean e;

           public FILTER_MATCH_PATTERN a() {
               return this.d;

           public boolean b() {
               return this.e;

      Is there some new way to call Inventory.perform?