import Phidgets.*; public class Runner extends _IPhidgetRFIDEventsAdapter { private static LockedPool lockedPool = LockedPool.getInstance(); public void OnTag(_IPhidgetRFIDEvents_OnTagEvent ke) { if ( lockedPool.isLock(ke.get_TagNumber()) == false ) { // lock mechnizm. System.out.println("LOCK"); lockedPool.lock(ke.get_TagNumber()); System.out.println("Tag Found: " + ke.get_TagNumber()); } if ( lockedPool.isLock(ke.get_TagNumber()) == true && lockedPool.isWaitTimeOver(ke.get_TagNumber()) == true ) { System.out.println("Tag Found: " + ke.get_TagNumber()); lockedPool.incrementLockStatus(ke.get_TagNumber()); lockedPool.lock(ke.get_TagNumber()); } else { System.out.println("Tag NotFound: "); } } public void OnDetach(_IPhidgetRFIDEvents_OnDetachEvent ke) { System.out.println("FINISHED!"); } public static void main(String[] args) { new Runner(); } public Runner() { PhidgetRFID phid = new PhidgetRFID(); phid.add_IPhidgetRFIDEventsListener(this); if (phid.Open(false) == false) { System.out.println("Could not find a PhidgetRFID"); return; } System.out.println(phid.GetDeviceType()); System.out.println("Serial Number " + phid.GetSerialNumber()); System.out.println("Device Version " + phid.GetDeviceVersion()); System.out.println("Attached " + phid.GetIsAttached()); phid.SetOutputState(3, true); phid.run(); } }