Package SampleCombiDevice
Class Keylock
- All Implemented Interfaces:
JposBaseInterface
,KeylockInterface
Class implementing the KeylockInterface for the sample combi device.
External and interactive Checkhealth might be implemented in a later version.
-
Field Summary
Fields inherited from class de.gmxhome.conrad.jpos.jpos_base.keylock.KeylockProperties
CapKeylockType, ElectronicKeyValue, ElectronicKeyValueDef, KeyPosition, KeyPositionDef, PositionCount
Fields inherited from class de.gmxhome.conrad.jpos.jpos_base.JposCommonProperties
AllowAlwaysSetProperties, AllowDeprecatedMethods, AsyncInputActive, AsyncMode, AutoDisable, CapStatisticsReporting, CapUpdateStatistics, CheckHealthText, Claimed, Claiming, ClaimWaiters, CurrentCommands, CurrentUnitID, DataCount, DataEventEnabled, DataEventList, Device, DeviceEnabled, DeviceServiceDescription, DeviceServiceVersion, DevProps, ErrorString, ErrorUnits, EventCB, EventList, EventSource, EventString, EventUnitID, EventUnits, ExclusiveAllowed, ExclusiveNo, ExclusiveUse, ExclusiveYes, FirstEnableHappened, FlagWhenIdle, FlagWhenIdleStatusValue, FreezeEvents, Index, LogicalName, MaximumConfirmationEventWaitingTime, OutputID, PowerNotify, PowerState, SerializedRequestRunner, SerializedRequests, State, StrictFIFOEventHandling, SuspendedCommands, SuspendedConcurrentCommands, UnitsOnline, UsesSubsystemUnits
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
checkHealth(int level)
Final part of CheckHealth method.void
close()
Final part of close method.void
deviceEnabled(boolean enable)
Final part of setting DeviceEnabled.void
open()
Final part of open method.void
waitForKeylockChange(int pos, int timeout)
Final part of WaitForKeylockChange method.Methods inherited from class de.gmxhome.conrad.jpos.jpos_base.keylock.KeylockProperties
initOnEnable, initOnOpen
Methods inherited from class de.gmxhome.conrad.jpos.jpos_base.JposCommonProperties
addProperties, asyncMode, attachWaiter, autoDisable, checkForDeprecation, checkProperties, claim, clearDataProperties, clearErrorProperties, clearInput, clearOutput, clearOutputErrorProperties, compareFirmwareVersion, dataEventEnabled, directIO, directIO, flagWhenIdle, freezeEvents, getClaimingInstance, handlePowerStateOnEnable, initOnClaim, initOnFirstEnable, newJposOutputRequest, powerNotify, release, releaseWaiter, removeFromPropertySetList, resetStatistics, retrieveStatistics, retryInput, retryOutput, signalWaiter, unitDataCount, updateFirmware, updateFirmware, updateStatistics, waitWaiter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface de.gmxhome.conrad.jpos.jpos_base.JposBaseInterface
asyncMode, autoDisable, claim, clearInput, clearOutput, compareFirmwareVersion, dataEventEnabled, directIO, directIO, flagWhenIdle, freezeEvents, handlePowerStateOnEnable, newJposOutputRequest, powerNotify, release, removeFromPropertySetList, resetStatistics, retrieveStatistics, retryInput, retryOutput, unitDataCount, updateFirmware, updateFirmware, updateStatistics
-
Constructor Details
-
Keylock
Constructor. Gets index of Keylock to be used and an instance of Device to be used as communication object.- Parameters:
index
- Property set used by this KeylockInterface implementation.dev
- Instance of Device this object belongs to.
-
-
Method Details
-
deviceEnabled
public void deviceEnabled(boolean enable) throws jpos.JposExceptionDescription copied from interface:JposBaseInterface
Final part of setting DeviceEnabled. Can be overwritten within derived classes. Performs initOnEnable method of corresponding property set in addition to setting DeviceEnabled. This method will be called only if the following plausibility checks lead to a positive result:- Device has not been closed,
- ExclusiveUse equals ExclusiveYes: Device is claimed,
- DeviceEnabled != enabled.
- Specified by:
deviceEnabled
in interfaceJposBaseInterface
- Overrides:
deviceEnabled
in classJposCommonProperties
- Parameters:
enable
- True to enable, false to disable- Throws:
jpos.JposException
- If an error occurs during enable or disable
-
open
public void open() throws jpos.JposExceptionDescription copied from interface:JposBaseInterface
Final part of open method. Can be overwritten in derived class, if necessary. sets State property and calls method initOnOpen of object specified by dev. This method will be called whenever the service's open method will be called. All checks, if necessary, must be implemented within the derived service implementation.- Specified by:
open
in interfaceJposBaseInterface
- Overrides:
open
in classJposCommonProperties
- Throws:
jpos.JposException
- See UPOS specification, method Open
-
close
public void close() throws jpos.JposExceptionDescription copied from interface:JposBaseInterface
Final part of close method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:- Device is neither enabled nor claimed.
- Specified by:
close
in interfaceJposBaseInterface
- Overrides:
close
in classJposCommonProperties
- Throws:
jpos.JposException
- See UPOS specification, method Close
-
checkHealth
public void checkHealth(int level) throws jpos.JposExceptionDescription copied from interface:JposBaseInterface
Final part of CheckHealth method. Can be overwritten in derived class, if necessary. Keep in mind that dvice class specific checks (e.g. check of Claimed or DeviceEnabled) must be done within derived classes. This method will be called only if the following plausibility checks lead to a positive result:- Device is neither enabled nor claimed.
- Specified by:
checkHealth
in interfaceJposBaseInterface
- Overrides:
checkHealth
in classJposCommonProperties
- Parameters:
level
- See UPOS specification, method CheckHealth- Throws:
jpos.JposException
- See UPOS specification, method CheckHealth
-
waitForKeylockChange
public void waitForKeylockChange(int pos, int timeout) throws jpos.JposExceptionDescription copied from interface:KeylockInterface
Final part of WaitForKeylockChange method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:- Device is enabled,
- keyPosition is between 0 and PositionCount,
- timeout is ≥ 0 or JPOS_FOREVER.
- Specified by:
waitForKeylockChange
in interfaceKeylockInterface
- Overrides:
waitForKeylockChange
in classKeylockProperties
- Parameters:
pos
- Requested keylock position.timeout
- Maximum number of milliseconds to wait for the keylock before returning control back to the application.- Throws:
jpos.JposException
- If an error occurs.
-