Interface StorageCard
- All Superinterfaces:
- org.eclipse.keypop.reader.selection.spi.SmartCard
public interface StorageCard
extends org.eclipse.keypop.reader.selection.spi.SmartCard
Represents a storage card with various methods to retrieve information and data from it.
- Since:
- 1.0.0
- 
Method SummaryModifier and TypeMethodDescriptionbyte[]getBlock(int blockAddress) Retrieves the data block at the specified block address.byte[]getBlocks(int fromBlockAddress, int toBlockAddress) Retrieves the data blocks within the specified range from the memory image of the storage card.Returns the product type of the storage card.byte[]Retrieves the system block from the storage card when available.byte[]getUID()Retrieves the unique identifier (UID) of the storage card.Methods inherited from interface org.eclipse.keypop.reader.selection.spi.SmartCardgetPowerOnData
- 
Method Details- 
getProductTypeProductType getProductType()Returns the product type of the storage card.- Returns:
- The product type of the storage card.
- Since:
- 1.0.0
 
- 
getUIDbyte[] getUID()Retrieves the unique identifier (UID) of the storage card.- Returns:
- A byte array representing the UID of the storage card.
 
- 
getSystemBlockbyte[] getSystemBlock()Retrieves the system block from the storage card when available.The system block contains card-specific metadata and configuration data such as access control settings. Not all storage card types provide access to system blocks. The system block must have been previously read using a the { StorageCardTransactionManager.prepareReadSystemBlock()) method.- Returns:
- The system block data as a byte array, or null if the system block has not been read yet.
- Throws:
- UnsupportedOperationException- If the current card type does not support system block access.
- Since:
- 1.0.0
 
- 
getBlockbyte[] getBlock(int blockAddress) Retrieves the data block at the specified block address.If the block has not been previously read and stored in memory, the returned byte array will be filled with zeros. - Parameters:
- blockAddress- The address of the block to retrieve
- Returns:
- The data block as a byte array, or a zero-filled byte array if the block has not been read yet.
- Throws:
- IndexOutOfBoundsException- If the block address is out of range.
- Since:
- 1.0.0
 
- 
getBlocksbyte[] getBlocks(int fromBlockAddress, int toBlockAddress) Retrieves the data blocks within the specified range from the memory image of the storage card.The returned array contains the blocks in order, from fromBlockAddresstotoBlockAddress. If a block has not been previously read and stored in memory, its corresponding bytes in the returned array will be filled with zeros.- Parameters:
- fromBlockAddress- The starting block address (inclusive).
- toBlockAddress- The ending block address (inclusive).
- Returns:
- A byte array containing the data blocks within the specified range. Unread blocks are represented as zero-filled sections in the returned array.
- Throws:
- IndexOutOfBoundsException- If- fromBlockAddressis greater than- toBlockAddress, if either block address is negative, or if they exceed the available range of the memory image.
 
 
-