|
6 | 6 | import cz.habarta.typescript.generator.Settings; |
7 | 7 | import cz.habarta.typescript.generator.TestUtils; |
8 | 8 | import cz.habarta.typescript.generator.TypeScriptGenerator; |
| 9 | +import jakarta.json.JsonArray; |
| 10 | +import jakarta.json.JsonNumber; |
| 11 | +import jakarta.json.JsonObject; |
| 12 | +import jakarta.json.JsonString; |
| 13 | +import jakarta.json.JsonValue; |
9 | 14 | import jakarta.json.bind.annotation.JsonbCreator; |
10 | 15 | import jakarta.json.bind.annotation.JsonbProperty; |
11 | 16 | import jakarta.json.bind.annotation.JsonbTransient; |
12 | 17 | import java.lang.annotation.Retention; |
13 | 18 | import java.lang.annotation.RetentionPolicy; |
| 19 | +import java.lang.reflect.Field; |
| 20 | +import java.lang.reflect.Method; |
14 | 21 | import java.util.Collection; |
15 | 22 | import java.util.Date; |
16 | 23 | import java.util.List; |
17 | 24 | import java.util.Map; |
18 | 25 | import java.util.OptionalInt; |
19 | 26 | import java.util.UUID; |
20 | | -import javax.json.JsonArray; |
21 | | -import javax.json.JsonNumber; |
22 | | -import javax.json.JsonObject; |
23 | | -import javax.json.JsonString; |
24 | | -import javax.json.JsonValue; |
25 | 27 | import org.checkerframework.checker.nullness.qual.Nullable; |
26 | 28 | import org.junit.jupiter.api.Assertions; |
27 | 29 | import org.junit.jupiter.api.BeforeEach; |
@@ -318,4 +320,29 @@ public void testTransientField() { |
318 | 320 | private String generate(final Settings settings, Class<?> cls) { |
319 | 321 | return new TypeScriptGenerator(settings).generateTypeScript(Input.from(cls)); |
320 | 322 | } |
| 323 | + |
| 324 | + @javax.json.bind.annotation.JsonbVisibility(HideAllVisibilityStrategy.class) |
| 325 | + public class SecretDataJavax { |
| 326 | + public String password; |
| 327 | + } |
| 328 | + |
| 329 | + public static class HideAllVisibilityStrategy implements javax.json.bind.config.PropertyVisibilityStrategy { |
| 330 | + |
| 331 | + @Override |
| 332 | + public boolean isVisible(Field field) { |
| 333 | + return false; |
| 334 | + } |
| 335 | + |
| 336 | + @Override |
| 337 | + public boolean isVisible(Method method) { |
| 338 | + return false; |
| 339 | + } |
| 340 | + } |
| 341 | + |
| 342 | + @Test |
| 343 | + public void testJavaxVisibilityStrategy() { |
| 344 | + final String output = generate(settings, SecretDataJavax.class); |
| 345 | + Assertions.assertFalse(output.contains("password"), output); |
| 346 | + } |
| 347 | + |
321 | 348 | } |
0 commit comments