1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class TokenMonitor {
  4. private final Map<String, String> storedTokens = new HashMap<>(); // Store old tokens
  5. private String currentToken; // Current token
  6. public synchronized void setToken(String token) {
  7. currentToken = token; // Update current token
  8. storedTokens.put(currentToken, token); // Store the new token
  9. }
  10. public synchronized String getCurrentToken() {
  11. return currentToken; // Return the current token
  12. }
  13. public synchronized boolean isTokenValid(String token) {
  14. return storedTokens.containsKey(token);
  15. }
  16. public synchronized void removeToken(String token) {
  17. storedTokens.remove(token); // Remove token from stored tokens
  18. }
  19. public static void main(String[] args) throws InterruptedException {
  20. TokenMonitor monitor = new TokenMonitor();
  21. // Simulate token changes
  22. monitor.setToken("oldToken1");
  23. System.out.println("Current token: " + monitor.getCurrentToken()); // Output: oldToken1
  24. monitor.setToken("newToken1");
  25. System.out.println("Current token: " + monitor.getCurrentToken()); // Output: newToken1
  26. // Check if an old token is still valid
  27. System.out.println("Is oldToken1 valid? " + monitor.isTokenValid("oldToken1")); // Output: true
  28. //Remove an old token
  29. monitor.removeToken("oldToken1");
  30. System.out.println("Is oldToken1 valid after removal? " + monitor.isTokenValid("oldToken1")); //Output: false
  31. }
  32. }

Add your comment