/server/runtime/src/main/java/org/infinispan/server/configuration/Attribute.java

https://github.com/infinispan/infinispan · Java · 152 lines · 138 code · 10 blank · 4 comment · 4 complexity · 79b3db717d27761d55f596544370d2e0 MD5 · raw file

  1. package org.infinispan.server.configuration;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. /**
  5. * @author Tristan Tarrant
  6. * @since 10.0
  7. */
  8. public enum Attribute {
  9. UNKNOWN(null), // must be first
  10. ADMIN,
  11. ALIAS,
  12. AUDIENCE,
  13. AUTH_SERVER_URL,
  14. BACKGROUND_VALIDATION,
  15. BLOCKING_TIMEOUT,
  16. CACHE_CONTAINER,
  17. CACHE_LIFESPAN,
  18. CACHE_MAX_SIZE,
  19. CLEAR_TEXT,
  20. CLIENT_ID,
  21. CLIENT_SECRET,
  22. CLIENT_SSL_CONTEXT,
  23. COMMAND,
  24. CONNECTION_POOLING,
  25. CONNECTION_TIMEOUT,
  26. CREDENTIAL,
  27. DEBUG,
  28. DEFAULT_INTERFACE,
  29. DEFAULT_REALM,
  30. DIGEST_REALM_NAME,
  31. DIRECT_VERIFICATION,
  32. DRIVER,
  33. ENABLED_CIPHERSUITES,
  34. ENABLED_PROTOCOLS,
  35. EXTRACT_RDN,
  36. FAIL_CACHE,
  37. FILTER,
  38. FILTER_DN,
  39. FILTER_NAME,
  40. FROM,
  41. GENERATE_SELF_SIGNED_CERTIFICATE_HOST,
  42. GROUPS_ATTRIBUTE,
  43. HOST_NAME_VERIFICATION_POLICY,
  44. IDLE_REMOVAL,
  45. IDLE_TIMEOUT,
  46. INITIAL_SIZE,
  47. INTERFACE,
  48. INTROSPECTION_URL,
  49. IO_THREADS,
  50. ISSUER,
  51. JKU_TIMEOUT,
  52. JNDI_NAME,
  53. @Deprecated
  54. KEYSTORE_PASSWORD,
  55. KEYTAB_PATH,
  56. KEY_PASSWORD,
  57. LEAK_DETECTION,
  58. LEVELS,
  59. MASKED,
  60. MAX_SIZE,
  61. MECHANISM_NAMES,
  62. MECHANISM_OIDS,
  63. METRICS_AUTH,
  64. MINIMUM_REMAINING_LIFETIME,
  65. MIN_SIZE,
  66. NAME,
  67. NEW_CONNECTION_SQL,
  68. OBTAIN_KERBEROS_TICKET,
  69. PAGE_SIZE,
  70. PASSWORD,
  71. PATH,
  72. PATTERN,
  73. PLAIN_TEXT,
  74. PORT,
  75. PORT_OFFSET,
  76. PRINCIPAL,
  77. PRINCIPAL_CLAIM,
  78. PROVIDER,
  79. PUBLIC_KEY,
  80. RDN_IDENTIFIER,
  81. READ_TIMEOUT,
  82. REALMS,
  83. RECEIVE_BUFFER_SIZE,
  84. REFERENCE,
  85. REFERRAL_MODE,
  86. RELATIVE_TO,
  87. REPLACEMENT,
  88. REPLACE_ALL,
  89. REQUEST_LIFETIME,
  90. REQUIRED,
  91. REQUIRE_SSL_CLIENT_AUTH,
  92. ROLE_RECURSION,
  93. ROLE_RECURSION_NAME,
  94. SEARCH_DN,
  95. SEARCH_RECURSIVE,
  96. SEARCH_TIME_LIMIT,
  97. SECURITY_REALM,
  98. SEND_BUFFER_SIZE,
  99. SERVER,
  100. SOCKET_BINDING,
  101. STATISTICS,
  102. STORE,
  103. TCP_KEEPALIVE,
  104. TCP_NODELAY,
  105. TO,
  106. TRANSACTION_ISOLATION,
  107. TYPE,
  108. URL,
  109. USERNAME,
  110. VALIDATE_ON_ACQUISITION,
  111. VALUE,
  112. VERIFIABLE,
  113. WORKER_THREADS,
  114. WRAP_GSS_CREDENTIAL,
  115. WRITABLE;
  116. private static final Map<String, Attribute> ATTRIBUTES;
  117. static {
  118. final Map<String, Attribute> map = new HashMap<>(64);
  119. for (Attribute attribute : values()) {
  120. final String name = attribute.name;
  121. if (name != null) {
  122. map.put(name, attribute);
  123. }
  124. }
  125. ATTRIBUTES = map;
  126. }
  127. private final String name;
  128. Attribute(final String name) {
  129. this.name = name;
  130. }
  131. Attribute() {
  132. this.name = name().toLowerCase().replace('_', '-');
  133. }
  134. public static Attribute forName(String localName) {
  135. final Attribute attribute = ATTRIBUTES.get(localName);
  136. return attribute == null ? UNKNOWN : attribute;
  137. }
  138. @Override
  139. public String toString() {
  140. return name;
  141. }
  142. }