@gravitee/ui-policy-studio-angular 1.4.4-design-studio-angular-65923df → 1.5.0-design-studio-angular-part2-ed6a516

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/bundles/gravitee-ui-policy-studio-angular-testing.umd.js +5728 -0
  2. package/bundles/gravitee-ui-policy-studio-angular-testing.umd.js.map +1 -0
  3. package/bundles/gravitee-ui-policy-studio-angular.umd.js +4589 -36
  4. package/bundles/gravitee-ui-policy-studio-angular.umd.js.map +1 -1
  5. package/esm2015/lib/gio-policy-studio.component.js +157 -0
  6. package/esm2015/lib/gio-policy-studio.module.js +60 -0
  7. package/esm2015/lib/models/flow/ConfigurationSchema.fixture.js +25 -0
  8. package/esm2015/lib/models/flow/ConfigurationSchema.js +2 -0
  9. package/esm2015/lib/models/flow/OrganizationFlowConfiguration.fixture.js +7 -0
  10. package/esm2015/lib/models/flow/OrganizationFlowConfiguration.js +2 -0
  11. package/esm2015/lib/models/flow/PlatformFlowSchema.fixture.js +69 -0
  12. package/esm2015/lib/models/flow/PlatformFlowSchema.js +17 -0
  13. package/esm2015/lib/models/flow/index.js +19 -0
  14. package/esm2015/lib/models/flow/testing.js +19 -0
  15. package/esm2015/lib/models/index.js +21 -0
  16. package/esm2015/lib/models/json.js +2 -0
  17. package/esm2015/lib/models/policy/PolicyDocumentation.fixture.js +218 -0
  18. package/esm2015/lib/models/policy/PolicyDocumentation.js +2 -0
  19. package/esm2015/lib/models/policy/PolicyListItem.fixture.js +15 -0
  20. package/esm2015/lib/models/policy/PolicyListItem.js +2 -0
  21. package/esm2015/lib/models/policy/PolicySchema.fixture.js +5 -0
  22. package/esm2015/lib/models/policy/PolicySchema.js +2 -0
  23. package/esm2015/lib/models/policy/index.js +19 -0
  24. package/esm2015/lib/models/policy/testing.js +19 -0
  25. package/esm2015/lib/models/resource/ResourceDocumentation.fixture.js +70 -0
  26. package/esm2015/lib/models/resource/ResourceDocumentation.js +2 -0
  27. package/esm2015/lib/models/resource/ResourceListItem.fixture.js +12 -0
  28. package/esm2015/lib/models/resource/ResourceListItem.js +2 -0
  29. package/esm2015/lib/models/resource/index.js +18 -0
  30. package/esm2015/lib/models/resource/testing.js +18 -0
  31. package/esm2015/lib/models/spel/Grammar.fixture.js +3693 -0
  32. package/esm2015/lib/models/spel/Grammar.js +17 -0
  33. package/esm2015/lib/models/spel/index.js +17 -0
  34. package/esm2015/lib/models/spel/testing.js +17 -0
  35. package/esm2015/lib/services/flow.abstract.service.js +3 -0
  36. package/esm2015/lib/services/flow.service.fixture.js +37 -0
  37. package/esm2015/lib/services/index.js +20 -0
  38. package/esm2015/lib/services/policy.abstract.service.js +3 -0
  39. package/esm2015/lib/services/policy.service.fixture.js +41 -0
  40. package/esm2015/lib/services/resource.abstract.service.js +3 -0
  41. package/esm2015/lib/services/resource.service.fixture.js +34 -0
  42. package/esm2015/lib/services/spel.abstract.service.js +3 -0
  43. package/esm2015/lib/services/spel.service.fixture.js +34 -0
  44. package/esm2015/public-api.js +5 -4
  45. package/esm2015/testing/gravitee-ui-policy-studio-angular-testing.js +5 -0
  46. package/esm2015/testing/lib/models/flow/ConfigurationSchema.fixture.js +25 -0
  47. package/esm2015/testing/lib/models/flow/ConfigurationSchema.js +2 -0
  48. package/esm2015/testing/lib/models/flow/OrganizationFlowConfiguration.fixture.js +7 -0
  49. package/esm2015/testing/lib/models/flow/OrganizationFlowConfiguration.js +2 -0
  50. package/esm2015/testing/lib/models/flow/PlatformFlowSchema.fixture.js +69 -0
  51. package/esm2015/testing/lib/models/flow/PlatformFlowSchema.js +17 -0
  52. package/esm2015/testing/lib/models/flow/index.js +19 -0
  53. package/esm2015/testing/lib/models/flow/testing.js +19 -0
  54. package/esm2015/testing/lib/models/json.js +2 -0
  55. package/esm2015/testing/lib/models/policy/PolicyDocumentation.fixture.js +218 -0
  56. package/esm2015/testing/lib/models/policy/PolicyDocumentation.js +2 -0
  57. package/esm2015/testing/lib/models/policy/PolicyListItem.fixture.js +15 -0
  58. package/esm2015/testing/lib/models/policy/PolicyListItem.js +2 -0
  59. package/esm2015/testing/lib/models/policy/PolicySchema.fixture.js +5 -0
  60. package/esm2015/testing/lib/models/policy/PolicySchema.js +2 -0
  61. package/esm2015/testing/lib/models/policy/index.js +19 -0
  62. package/esm2015/testing/lib/models/policy/testing.js +19 -0
  63. package/esm2015/testing/lib/models/resource/ResourceDocumentation.fixture.js +70 -0
  64. package/esm2015/testing/lib/models/resource/ResourceDocumentation.js +2 -0
  65. package/esm2015/testing/lib/models/resource/ResourceListItem.fixture.js +12 -0
  66. package/esm2015/testing/lib/models/resource/ResourceListItem.js +2 -0
  67. package/esm2015/testing/lib/models/resource/index.js +18 -0
  68. package/esm2015/testing/lib/models/resource/testing.js +18 -0
  69. package/esm2015/testing/lib/models/spel/Grammar.fixture.js +3693 -0
  70. package/esm2015/testing/lib/models/spel/Grammar.js +17 -0
  71. package/esm2015/testing/lib/models/spel/index.js +17 -0
  72. package/esm2015/testing/lib/models/spel/testing.js +17 -0
  73. package/esm2015/testing/lib/models/testing.js +20 -0
  74. package/esm2015/testing/lib/services/flow.abstract.service.js +3 -0
  75. package/esm2015/testing/lib/services/flow.service.fixture.js +37 -0
  76. package/esm2015/testing/lib/services/policy.abstract.service.js +3 -0
  77. package/esm2015/testing/lib/services/policy.service.fixture.js +41 -0
  78. package/esm2015/testing/lib/services/resource.abstract.service.js +3 -0
  79. package/esm2015/testing/lib/services/resource.service.fixture.js +34 -0
  80. package/esm2015/testing/lib/services/spel.abstract.service.js +3 -0
  81. package/esm2015/testing/lib/services/spel.service.fixture.js +34 -0
  82. package/esm2015/testing/lib/services/testing.js +20 -0
  83. package/esm2015/testing/public-testing-api.js +19 -0
  84. package/esm2015/testing/testing/index.js +17 -0
  85. package/esm2015/testing/testing/stories-resources/apim-definition.json +405 -0
  86. package/esm2015/testing/testing/stories-resources/apim-flow.json +54 -0
  87. package/esm2015/testing/testing/stories-resources/apim-policies.json +486 -0
  88. package/esm2015/testing/testing/stories-resources/apim-property-providers.json +39 -0
  89. package/esm2015/testing/testing/stories-resources/apim-resource-types.json +187 -0
  90. package/esm2015/testing/testing/stories-resources/index.js +26 -0
  91. package/fesm2015/gravitee-ui-policy-studio-angular-testing.js +5699 -0
  92. package/fesm2015/gravitee-ui-policy-studio-angular-testing.js.map +1 -0
  93. package/fesm2015/gravitee-ui-policy-studio-angular.js +4588 -25
  94. package/fesm2015/gravitee-ui-policy-studio-angular.js.map +1 -1
  95. package/lib/gio-policy-studio.component.d.ts +79 -0
  96. package/lib/gio-policy-studio.module.d.ts +8 -0
  97. package/lib/models/flow/ConfigurationSchema.d.ts +2 -0
  98. package/lib/models/flow/ConfigurationSchema.fixture.d.ts +2 -0
  99. package/lib/models/flow/OrganizationFlowConfiguration.d.ts +3 -0
  100. package/lib/models/flow/OrganizationFlowConfiguration.fixture.d.ts +2 -0
  101. package/lib/models/flow/PlatformFlowSchema.d.ts +2 -0
  102. package/lib/models/flow/PlatformFlowSchema.fixture.d.ts +2 -0
  103. package/lib/models/flow/index.d.ts +3 -0
  104. package/lib/models/flow/testing.d.ts +3 -0
  105. package/lib/models/index.d.ts +5 -0
  106. package/lib/models/json.d.ts +3 -0
  107. package/lib/models/policy/PolicyDocumentation.d.ts +1 -0
  108. package/lib/models/policy/PolicyDocumentation.fixture.d.ts +2 -0
  109. package/lib/models/policy/PolicyListItem.d.ts +13 -0
  110. package/lib/models/policy/PolicyListItem.fixture.d.ts +2 -0
  111. package/lib/models/policy/PolicySchema.d.ts +1 -0
  112. package/lib/models/policy/PolicySchema.fixture.d.ts +2 -0
  113. package/lib/models/policy/index.d.ts +3 -0
  114. package/lib/models/policy/testing.d.ts +3 -0
  115. package/lib/models/resource/ResourceDocumentation.d.ts +1 -0
  116. package/lib/models/resource/ResourceDocumentation.fixture.d.ts +2 -0
  117. package/lib/models/resource/ResourceListItem.d.ts +8 -0
  118. package/lib/models/resource/ResourceListItem.fixture.d.ts +2 -0
  119. package/lib/models/resource/index.d.ts +2 -0
  120. package/lib/models/resource/testing.d.ts +2 -0
  121. package/lib/models/spel/Grammar.d.ts +2 -0
  122. package/lib/models/spel/Grammar.fixture.d.ts +2 -0
  123. package/lib/models/spel/index.d.ts +1 -0
  124. package/lib/models/spel/testing.d.ts +1 -0
  125. package/lib/services/flow.abstract.service.d.ts +7 -0
  126. package/lib/services/flow.service.fixture.d.ts +11 -0
  127. package/lib/services/index.d.ts +4 -0
  128. package/lib/services/policy.abstract.service.d.ts +14 -0
  129. package/lib/services/policy.service.fixture.d.ts +13 -0
  130. package/lib/services/resource.abstract.service.d.ts +11 -0
  131. package/lib/services/resource.service.fixture.d.ts +10 -0
  132. package/lib/services/spel.abstract.service.d.ts +5 -0
  133. package/lib/services/spel.service.fixture.d.ts +9 -0
  134. package/package.json +5 -2
  135. package/public-api.d.ts +4 -3
  136. package/testing/gravitee-ui-policy-studio-angular-testing.d.ts +5 -0
  137. package/testing/lib/models/flow/ConfigurationSchema.d.ts +2 -0
  138. package/testing/lib/models/flow/ConfigurationSchema.fixture.d.ts +2 -0
  139. package/testing/lib/models/flow/OrganizationFlowConfiguration.d.ts +3 -0
  140. package/testing/lib/models/flow/OrganizationFlowConfiguration.fixture.d.ts +2 -0
  141. package/testing/lib/models/flow/PlatformFlowSchema.d.ts +2 -0
  142. package/testing/lib/models/flow/PlatformFlowSchema.fixture.d.ts +2 -0
  143. package/testing/lib/models/flow/index.d.ts +3 -0
  144. package/testing/lib/models/flow/testing.d.ts +3 -0
  145. package/testing/lib/models/json.d.ts +3 -0
  146. package/testing/lib/models/policy/PolicyDocumentation.d.ts +1 -0
  147. package/testing/lib/models/policy/PolicyDocumentation.fixture.d.ts +2 -0
  148. package/testing/lib/models/policy/PolicyListItem.d.ts +13 -0
  149. package/testing/lib/models/policy/PolicyListItem.fixture.d.ts +2 -0
  150. package/testing/lib/models/policy/PolicySchema.d.ts +1 -0
  151. package/testing/lib/models/policy/PolicySchema.fixture.d.ts +2 -0
  152. package/testing/lib/models/policy/index.d.ts +3 -0
  153. package/testing/lib/models/policy/testing.d.ts +3 -0
  154. package/testing/lib/models/resource/ResourceDocumentation.d.ts +1 -0
  155. package/testing/lib/models/resource/ResourceDocumentation.fixture.d.ts +2 -0
  156. package/testing/lib/models/resource/ResourceListItem.d.ts +8 -0
  157. package/testing/lib/models/resource/ResourceListItem.fixture.d.ts +2 -0
  158. package/testing/lib/models/resource/index.d.ts +2 -0
  159. package/testing/lib/models/resource/testing.d.ts +2 -0
  160. package/testing/lib/models/spel/Grammar.d.ts +2 -0
  161. package/testing/lib/models/spel/Grammar.fixture.d.ts +2 -0
  162. package/testing/lib/models/spel/index.d.ts +1 -0
  163. package/testing/lib/models/spel/testing.d.ts +1 -0
  164. package/testing/lib/models/testing.d.ts +4 -0
  165. package/testing/lib/services/flow.abstract.service.d.ts +7 -0
  166. package/testing/lib/services/flow.service.fixture.d.ts +11 -0
  167. package/testing/lib/services/policy.abstract.service.d.ts +14 -0
  168. package/testing/lib/services/policy.service.fixture.d.ts +13 -0
  169. package/testing/lib/services/resource.abstract.service.d.ts +11 -0
  170. package/testing/lib/services/resource.service.fixture.d.ts +10 -0
  171. package/testing/lib/services/spel.abstract.service.d.ts +5 -0
  172. package/testing/lib/services/spel.service.fixture.d.ts +9 -0
  173. package/testing/lib/services/testing.d.ts +4 -0
  174. package/testing/package.json +10 -0
  175. package/testing/public-testing-api.d.ts +3 -0
  176. package/testing/testing/index.d.ts +1 -0
  177. package/testing/testing/stories-resources/index.d.ts +592 -0
  178. package/esm2015/lib/ui-policy-studio-angular.component.js +0 -30
  179. package/esm2015/lib/ui-policy-studio-angular.module.js +0 -32
  180. package/esm2015/lib/ui-policy-studio-angular.service.js +0 -29
  181. package/lib/ui-policy-studio-angular.component.d.ts +0 -5
  182. package/lib/ui-policy-studio-angular.module.d.ts +0 -7
  183. package/lib/ui-policy-studio-angular.service.d.ts +0 -6
@@ -1,5 +1,106 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, Inject, Input, Output, Injectable, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
+ import { tap, catchError, map } from 'rxjs/operators';
4
+ import { chain, isNil } from 'lodash';
5
+ import '@gravitee/ui-components/wc/gv-policy-studio';
6
+ import { EMPTY, of } from 'rxjs';
7
+ import * as i1 from '@angular/common';
8
+
9
+ /*
10
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
11
+ *
12
+ * Licensed under the Apache License, Version 2.0 (the "License");
13
+ * you may not use this file except in compliance with the License.
14
+ * You may obtain a copy of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing, software
19
+ * distributed under the License is distributed on an "AS IS" BASIS,
20
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ * See the License for the specific language governing permissions and
22
+ * limitations under the License.
23
+ */
24
+
25
+ /*
26
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
27
+ *
28
+ * Licensed under the Apache License, Version 2.0 (the "License");
29
+ * you may not use this file except in compliance with the License.
30
+ * You may obtain a copy of the License at
31
+ *
32
+ * http://www.apache.org/licenses/LICENSE-2.0
33
+ *
34
+ * Unless required by applicable law or agreed to in writing, software
35
+ * distributed under the License is distributed on an "AS IS" BASIS,
36
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37
+ * See the License for the specific language governing permissions and
38
+ * limitations under the License.
39
+ */
40
+
41
+ /*
42
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
43
+ *
44
+ * Licensed under the Apache License, Version 2.0 (the "License");
45
+ * you may not use this file except in compliance with the License.
46
+ * You may obtain a copy of the License at
47
+ *
48
+ * http://www.apache.org/licenses/LICENSE-2.0
49
+ *
50
+ * Unless required by applicable law or agreed to in writing, software
51
+ * distributed under the License is distributed on an "AS IS" BASIS,
52
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
53
+ * See the License for the specific language governing permissions and
54
+ * limitations under the License.
55
+ */
56
+
57
+ /*
58
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
59
+ *
60
+ * Licensed under the Apache License, Version 2.0 (the "License");
61
+ * you may not use this file except in compliance with the License.
62
+ * You may obtain a copy of the License at
63
+ *
64
+ * http://www.apache.org/licenses/LICENSE-2.0
65
+ *
66
+ * Unless required by applicable law or agreed to in writing, software
67
+ * distributed under the License is distributed on an "AS IS" BASIS,
68
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
69
+ * See the License for the specific language governing permissions and
70
+ * limitations under the License.
71
+ */
72
+
73
+ /*
74
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
75
+ *
76
+ * Licensed under the Apache License, Version 2.0 (the "License");
77
+ * you may not use this file except in compliance with the License.
78
+ * You may obtain a copy of the License at
79
+ *
80
+ * http://www.apache.org/licenses/LICENSE-2.0
81
+ *
82
+ * Unless required by applicable law or agreed to in writing, software
83
+ * distributed under the License is distributed on an "AS IS" BASIS,
84
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
85
+ * See the License for the specific language governing permissions and
86
+ * limitations under the License.
87
+ */
88
+
89
+ /*
90
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
91
+ *
92
+ * Licensed under the Apache License, Version 2.0 (the "License");
93
+ * you may not use this file except in compliance with the License.
94
+ * You may obtain a copy of the License at
95
+ *
96
+ * http://www.apache.org/licenses/LICENSE-2.0
97
+ *
98
+ * Unless required by applicable law or agreed to in writing, software
99
+ * distributed under the License is distributed on an "AS IS" BASIS,
100
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
101
+ * See the License for the specific language governing permissions and
102
+ * limitations under the License.
103
+ */
3
104
 
4
105
  /*
5
106
  * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
@@ -16,17 +117,281 @@ import { Injectable, Component, NgModule } from '@angular/core';
16
117
  * See the License for the specific language governing permissions and
17
118
  * limitations under the License.
18
119
  */
19
- class UiPolicyStudioAngularService {
20
- constructor() { }
120
+
121
+ class FlowServiceAbstract {
21
122
  }
22
- UiPolicyStudioAngularService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
- UiPolicyStudioAngularService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularService, providedIn: 'root' });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularService, decorators: [{
25
- type: Injectable,
123
+
124
+ class PolicyServiceAbstract {
125
+ }
126
+
127
+ class ResourceServiceAbstract {
128
+ }
129
+
130
+ class SpelServiceAbstract {
131
+ }
132
+
133
+ /*
134
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
135
+ *
136
+ * Licensed under the Apache License, Version 2.0 (the "License");
137
+ * you may not use this file except in compliance with the License.
138
+ * You may obtain a copy of the License at
139
+ *
140
+ * http://www.apache.org/licenses/LICENSE-2.0
141
+ *
142
+ * Unless required by applicable law or agreed to in writing, software
143
+ * distributed under the License is distributed on an "AS IS" BASIS,
144
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145
+ * See the License for the specific language governing permissions and
146
+ * limitations under the License.
147
+ */
148
+
149
+ class GioPolicyStudioComponent {
150
+ constructor(location, flowService, policyService, resourceService, spelService) {
151
+ this.location = location;
152
+ this.flowService = flowService;
153
+ this.policyService = policyService;
154
+ this.resourceService = resourceService;
155
+ this.spelService = spelService;
156
+ this.services = {};
157
+ this.dynamicPropertySchema = {};
158
+ this.configurationInformation = 'By default, the selection of a flow is based on the operator defined in the flow itself. This operator allows either to select a flow when the path matches exactly, or when the start of the path matches. The "Best match" option allows you to select the flow from the path that is closest.';
159
+ this.save = new EventEmitter();
160
+ this.unknownPolicyCategory = 'others';
161
+ this.policyCategoriesOrder = ['security', 'performance', 'transformation', this.unknownPolicyCategory];
162
+ }
163
+ set policies(policies) {
164
+ this._policies = chain(policies)
165
+ .map(policy => (!isNil(policy.category) ? policy : Object.assign(Object.assign({}, policy), { category: this.unknownPolicyCategory })))
166
+ // First sort by category (based on category order) and then by name
167
+ .sortBy([policy => { var _a; return this.policyCategoriesOrder.indexOf((_a = policy.category) !== null && _a !== void 0 ? _a : ''); }, policy => policy.name])
168
+ .value();
169
+ }
170
+ get policies() {
171
+ return this._policies;
172
+ }
173
+ ngOnInit() {
174
+ this.flowService
175
+ .getConfigurationSchemaForm()
176
+ .pipe(tap(configurationSchema => {
177
+ this.configurationSchema = configurationSchema;
178
+ }))
179
+ .subscribe();
180
+ const { tabId, flowsIds } = this.parseUrl();
181
+ this.tabId = tabId;
182
+ this.selectedFlowsIds = JSON.stringify(flowsIds);
183
+ }
184
+ onTabChanged(tabId) {
185
+ this.updateUrl(Object.assign(Object.assign({}, this.parseUrl()), { tabId }));
186
+ }
187
+ onFlowSelectionChanged({ flows }) {
188
+ this.updateUrl(Object.assign(Object.assign({}, this.parseUrl()), { flowsIds: flows }));
189
+ }
190
+ fetchPolicyDocumentation({ policy }) {
191
+ this.policyService
192
+ .getDocumentation(policy.id)
193
+ .pipe(tap(documentation => (this.policyDocumentation = { id: policy.id, image: policy.icon, content: documentation })))
194
+ .subscribe();
195
+ }
196
+ fetchResourceDocumentation({ resourceType, target, }) {
197
+ this.resourceService
198
+ .getDocumentation(resourceType.id)
199
+ .pipe(tap(documentation => (target.documentation = { image: resourceType.icon, content: documentation })), catchError(() => {
200
+ target.documentation = null;
201
+ return EMPTY;
202
+ }))
203
+ .subscribe();
204
+ }
205
+ fetchSpelGrammar({ currentTarget }) {
206
+ this.spelService
207
+ .getGrammar()
208
+ .pipe(tap(grammar => (currentTarget.grammar = grammar)))
209
+ .subscribe();
210
+ }
211
+ parseUrl() {
212
+ // TODO: Improve this with Angular Router
213
+ // Hack to add the tab as Fragment part of the URL
214
+ const [path, tabId] = this.location.path(true).split(/#(\w*)$/);
215
+ const [basePath, ...flowsIds] = path.split('flows');
216
+ const cleanedPath = basePath.replace('?', '');
217
+ const cleanedFlows = (flowsIds !== null && flowsIds !== void 0 ? flowsIds : []).map(flow => flow.replace('=', ''));
218
+ return {
219
+ path: cleanedPath,
220
+ tabId: tabId !== null && tabId !== void 0 ? tabId : '',
221
+ flowsIds: cleanedFlows,
222
+ };
223
+ }
224
+ updateUrl({ path, tabId, flowsIds }) {
225
+ // TODO: Improve this with Angular Router
226
+ // Hack to add the tab as Fragment part of the URL
227
+ const flowsQueryParams = (flowsIds !== null && flowsIds !== void 0 ? flowsIds : []).map(value => `flows=${value}`).join('&');
228
+ const queryParams = flowsQueryParams.length > 0 ? `?${flowsQueryParams}` : '';
229
+ this.location.go(`${path}${queryParams}#${tabId}`);
230
+ }
231
+ }
232
+ GioPolicyStudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioComponent, deps: [{ token: i1.Location }, { token: 'FlowService' }, { token: 'PolicyService' }, { token: 'ResourceService' }, { token: 'SpelService' }], target: i0.ɵɵFactoryTarget.Component });
233
+ GioPolicyStudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: GioPolicyStudioComponent, selector: "gio-policy-studio", inputs: { canAdd: "canAdd", canDebug: "canDebug", hasResources: "hasResources", hasProperties: "hasProperties", hasPolicyFilter: "hasPolicyFilter", sortable: "sortable", policies: "policies", definition: "definition", services: "services", flowSchema: "flowSchema", resourceTypes: "resourceTypes", propertyProviders: "propertyProviders", readonlyPlans: "readonlyPlans", dynamicPropertySchema: "dynamicPropertySchema", debugResponse: "debugResponse", flowsTitle: "flowsTitle", hasConditionalSteps: "hasConditionalSteps", configurationInformation: "configurationInformation" }, outputs: { save: "save" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"policy-studio-wrapper\">\n <gv-policy-studio\n [policies]=\"policies\"\n [services]=\"services\"\n [resourceTypes]=\"resourceTypes\"\n [propertyProviders]=\"propertyProviders\"\n [dynamicPropertySchema]=\"dynamicPropertySchema\"\n [definition]=\"definition\"\n [flowSchema]=\"flowSchema\"\n [configurationSchema]=\"configurationSchema\"\n [configurationInformation]=\"configurationInformation\"\n [attr.can-add]=\"canAdd ? canAdd : null\"\n [attr.can-debug]=\"canDebug ? canDebug : null\"\n [attr.has-resources]=\"hasResources ? hasResources : null\"\n [attr.has-properties]=\"hasProperties ? hasProperties : null\"\n [attr.has-policy-filter]=\"hasPolicyFilter ? hasPolicyFilter : null\"\n [attr.sortable]=\"sortable ? sortable : null\"\n [attr.readonly-plans]=\"readonlyPlans ? readonlyPlans : null\"\n [attr.flows-title]=\"flowsTitle\"\n [attr.has-conditional-steps]=\"flowsTitle\"\n [debugResponse]=\"debugResponse\"\n [tabId]=\"tabId\"\n (:gv-policy-studio:change-tab)=\"onTabChanged($any($event).detail)\"\n [documentation]=\"policyDocumentation\"\n (:gv-policy-studio:fetch-documentation)=\"fetchPolicyDocumentation($any($event).detail)\"\n (:gv-resources:fetch-documentation)=\"fetchResourceDocumentation($any($event).detail)\"\n (:gv-expression-language:ready)=\"fetchSpelGrammar($any($event).detail)\"\n [attr.selected-flows-id]=\"selectedFlowsIds ? selectedFlowsIds : null\"\n (:gv-policy-studio:select-flows)=\"onFlowSelectionChanged($any($event).detail)\"\n (:gv-policy-studio:save)=\"save.emit($any($event).detail)\"\n >\n </gv-policy-studio>\n</div>\n", styles: [".policy-studio-wrapper{background-color:#fff}gv-policy-studio{--gv-policy-studio--h: calc(100vh - 75px);overflow:hidden;margin:2rem 0 1rem 1rem}\n"] });
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioComponent, decorators: [{
235
+ type: Component,
26
236
  args: [{
27
- providedIn: 'root',
237
+ selector: 'gio-policy-studio',
238
+ templateUrl: './gio-policy-studio.component.html',
239
+ styleUrls: ['./gio-policy-studio.component.scss'],
28
240
  }]
29
- }], ctorParameters: function () { return []; } });
241
+ }], ctorParameters: function () { return [{ type: i1.Location }, { type: FlowServiceAbstract, decorators: [{
242
+ type: Inject,
243
+ args: ['FlowService']
244
+ }] }, { type: PolicyServiceAbstract, decorators: [{
245
+ type: Inject,
246
+ args: ['PolicyService']
247
+ }] }, { type: ResourceServiceAbstract, decorators: [{
248
+ type: Inject,
249
+ args: ['ResourceService']
250
+ }] }, { type: SpelServiceAbstract, decorators: [{
251
+ type: Inject,
252
+ args: ['SpelService']
253
+ }] }]; }, propDecorators: {
254
+ // TODO: Remove ! and add init value ! for all
255
+ canAdd: [{
256
+ type: Input
257
+ }], canDebug: [{
258
+ type: Input
259
+ }], hasResources: [{
260
+ type: Input
261
+ }], hasProperties: [{
262
+ type: Input
263
+ }], hasPolicyFilter: [{
264
+ type: Input
265
+ }], sortable: [{
266
+ type: Input
267
+ }], policies: [{
268
+ type: Input
269
+ }], definition: [{
270
+ type: Input
271
+ }], services: [{
272
+ type: Input
273
+ }], flowSchema: [{
274
+ type: Input
275
+ }], resourceTypes: [{
276
+ type: Input
277
+ }], propertyProviders: [{
278
+ type: Input
279
+ }], readonlyPlans: [{
280
+ type: Input
281
+ }], dynamicPropertySchema: [{
282
+ type: Input
283
+ }], debugResponse: [{
284
+ type: Input
285
+ }], flowsTitle: [{
286
+ type: Input
287
+ }], hasConditionalSteps: [{
288
+ type: Input
289
+ }], configurationInformation: [{
290
+ type: Input
291
+ }], save: [{
292
+ type: Output
293
+ }] } });
294
+
295
+ function fakeFlowConfigurationSchema(attributes) {
296
+ const base = {
297
+ type: 'object',
298
+ id: 'apim',
299
+ properties: {
300
+ 'flow-mode': {
301
+ title: 'Flow Mode',
302
+ description: 'The flow mode',
303
+ type: 'string',
304
+ enum: ['DEFAULT', 'BEST_MATCH'],
305
+ default: 'DEFAULT',
306
+ 'x-schema-form': {
307
+ titleMap: {
308
+ DEFAULT: 'Default',
309
+ BEST_MATCH: 'Best match',
310
+ },
311
+ },
312
+ },
313
+ },
314
+ required: [],
315
+ disabled: [],
316
+ };
317
+ return Object.assign(Object.assign({}, base), attributes);
318
+ }
319
+
320
+ function fakeOrganizationFlowConfiguration(attributes) {
321
+ const base = {
322
+ has_policies: true,
323
+ };
324
+ return Object.assign(Object.assign({}, base), attributes);
325
+ }
326
+
327
+ function fakePlatformFlowSchema(attributes) {
328
+ const base = {
329
+ type: 'object',
330
+ id: 'apim',
331
+ properties: {
332
+ name: {
333
+ title: 'Name',
334
+ description: 'The name of flow. If empty, the name will be generated with the path and methods',
335
+ type: 'string',
336
+ },
337
+ 'path-operator': {
338
+ type: 'object',
339
+ properties: {
340
+ operator: {
341
+ title: 'Operator path',
342
+ description: 'The operator path',
343
+ type: 'string',
344
+ enum: ['EQUALS', 'STARTS_WITH'],
345
+ default: 'STARTS_WITH',
346
+ 'x-schema-form': {
347
+ titleMap: {
348
+ EQUALS: 'Equals',
349
+ STARTS_WITH: 'Starts with',
350
+ },
351
+ },
352
+ },
353
+ path: {
354
+ title: 'Path',
355
+ description: 'The path of flow (must start by /)',
356
+ type: 'string',
357
+ pattern: '^/',
358
+ default: '/',
359
+ },
360
+ },
361
+ required: ['path', 'operator'],
362
+ },
363
+ methods: {
364
+ title: 'Methods',
365
+ description: 'The HTTP methods of flow (ALL if empty)',
366
+ type: 'array',
367
+ items: {
368
+ type: 'string',
369
+ enum: ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'],
370
+ },
371
+ },
372
+ consumers: {
373
+ title: 'Tags',
374
+ description: 'The tags of flow.',
375
+ type: 'array',
376
+ items: {
377
+ type: 'string',
378
+ enum: [],
379
+ },
380
+ },
381
+ condition: {
382
+ title: 'Condition',
383
+ description: 'The condition of the flow. Supports EL.',
384
+ type: 'string',
385
+ 'x-schema-form': {
386
+ 'expression-language': true,
387
+ },
388
+ },
389
+ },
390
+ required: [],
391
+ disabled: [],
392
+ };
393
+ return Object.assign(Object.assign({}, base), attributes);
394
+ }
30
395
 
31
396
  /*
32
397
  * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
@@ -43,16 +408,4190 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
43
408
  * See the License for the specific language governing permissions and
44
409
  * limitations under the License.
45
410
  */
46
- class UiPolicyStudioAngularComponent {
411
+
412
+ /*
413
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
414
+ *
415
+ * Licensed under the Apache License, Version 2.0 (the "License");
416
+ * you may not use this file except in compliance with the License.
417
+ * You may obtain a copy of the License at
418
+ *
419
+ * http://www.apache.org/licenses/LICENSE-2.0
420
+ *
421
+ * Unless required by applicable law or agreed to in writing, software
422
+ * distributed under the License is distributed on an "AS IS" BASIS,
423
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
424
+ * See the License for the specific language governing permissions and
425
+ * limitations under the License.
426
+ */
427
+ class FlowService extends FlowServiceAbstract {
428
+ getConfigurationSchemaForm() {
429
+ return of(fakeFlowConfigurationSchema());
430
+ }
431
+ getPlatformFlowSchemaForm() {
432
+ return of(fakePlatformFlowSchema());
433
+ }
434
+ getConfiguration() {
435
+ return of(fakeOrganizationFlowConfiguration());
436
+ }
47
437
  }
48
- UiPolicyStudioAngularComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
- UiPolicyStudioAngularComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: UiPolicyStudioAngularComponent, selector: "gio-ui-policy-studio-angular", ngImport: i0, template: ` <p class="wow">ui-policy-studio-angular works!</p> `, isInline: true });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularComponent, decorators: [{
51
- type: Component,
438
+ FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
439
+ FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService });
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, decorators: [{
441
+ type: Injectable
442
+ }] });
443
+
444
+ function fakePolicyListItem(attributes) {
445
+ const base = {
446
+ category: 'transformation',
447
+ description: 'Description of the JSON to JSON Transformation Gravitee Policy',
448
+ icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOi0wLjAxZW07fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJBUEkiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLjM1LDEzLjM3YTQzLDQzLDAsMSwwLDQzLjA1LDQzQTQzLDQzLDAsMCwwLDUwLjM1LDEzLjM3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTYzLjgsNzcuMDlhNC44Myw0LjgzLDAsMSwxLDMuNjktNy45Miw0Ljc0LDQuNzQsMCwwLDEsMS4xMywzLjA5QTQuODMsNC44MywwLDAsMSw2My44LDc3LjA5Wm0wLTcuOTNhMy4xMSwzLjExLDAsMSwwLDIuMzgsMS4xMkEzLjEsMy4xLDAsMCwwLDYzLjgsNjkuMTZaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw0My42OGE0Ljg1LDQuODUsMCwwLDEtNC43Ny00LjE0LDUsNSwwLDAsMSwwLS42OSw0LjgzLDQuODMsMCwwLDEsOS42NSwwLDMuNDUsMy40NSwwLDAsMS0uMDcuNzRBNC44MSw0LjgxLDAsMCwxLDUxLjUsNDMuNjhabTAtNy45M2EzLjEsMy4xLDAsMCwwLTMuMSwzLjEsMy4yNSwzLjI1LDAsMCwwLDAsLjQ0LDMuMSwzLjEsMCwwLDAsNi4xNCwwLDIuNjYsMi42NiwwLDAsMCwwLS40NUEzLjExLDMuMTEsMCwwLDAsNTEuNSwzNS43NVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zMy42NCw3MC4xNWE0LjgzLDQuODMsMCwwLDEtMS4zNy05LjQ2LDUsNSwwLDAsMSwxLjM3LS4xOSw0LjgyLDQuODIsMCwwLDEsNC44Miw0LjgyLDQuODcsNC44NywwLDAsMS0yLjcxLDQuMzVBNC43Myw0LjczLDAsMCwxLDMzLjY0LDcwLjE1Wm0wLTcuOTNhMywzLDAsMCwwLS44OS4xMywzLjEsMy4xLDAsMCwwLC44OSw2LjA4QTMsMywwLDAsMCwzNSw2OC4xMmEzLjExLDMuMTEsMCwwLDAtMS4zNS01LjlaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzIuMTgsNTYuMzVoLS4xMmEuODcuODcsMCwwLDEtLjczLTFBMjAuNDcsMjAuNDcsMCwwLDEsNDIsNDAuMzNhLjg2Ljg2LDAsMSwxLC44LDEuNTJBMTguNzcsMTguNzcsMCwwLDAsMzMsNTUuNjEuODYuODYsMCwwLDEsMzIuMTgsNTYuMzVaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw3OC43OWEyMC4xNywyMC4xNywwLDAsMS0xMi4yNy00LjExLjg2Ljg2LDAsMCwxLS4xNy0xLjIxLjg1Ljg1LDAsMCwxLDEuMi0uMTZBMTguNTIsMTguNTIsMCwwLDAsNTEuNSw3Ny4wNywxOC4yMywxOC4yMywwLDAsMCw1NSw3Ni43M2EuODcuODcsMCwwLDEsLjMzLDEuN0EyMC44NywyMC44NywwLDAsMSw1MS41LDc4Ljc5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTcwLDY1LjQyYS44NC44NCwwLDAsMS0uMjcsMCwuODYuODYsMCwwLDEtLjU0LTEuMDksMTguNzEsMTguNzEsMCwwLDAtOC41NS0yMi4xNy44Ni44NiwwLDEsMSwuODUtMS41LDIwLjQyLDIwLjQyLDAsMCwxLDkuMzMsMjQuMjFBLjg3Ljg3LDAsMCwxLDcwLDY1LjQyWiIvPjwvZz48ZyBpZD0iSE9TVElORyI+PHRleHQgY2xhc3M9ImNscy0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy45MyAtNC45OCkiPkpTT04gPHRzcGFuIGNsYXNzPSJjbHMtNCIgeD0iMjkuMDYiIHk9IjAiPnQ8L3RzcGFuPjx0c3BhbiB4PSIzMi45NiIgeT0iMCI+byBKU09OPC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==',
449
+ id: 'json-to-json',
450
+ name: 'JSON to JSON Transformation',
451
+ onRequest: true,
452
+ onResponse: true,
453
+ schema: '{\n "type" : "object",\n "id" : "urn:jsonschema:io:gravitee:policy:json2json:configuration:JsonToJsonTransformationPolicyConfiguration",\n "properties" : {\n "scope" : {\n "title": "Scope",\n "description": "Execute policy on <strong>request</strong> or <strong>response</strong> phase.",\n "type" : "string",\n "default": "REQUEST",\n "enum" : [ "REQUEST", "RESPONSE" ],\n "deprecated": "true"\n },\n "overrideContentType" : {\n "title": "Override the Content-Type",\n "description": "Enforce the Content-Type: application/json",\n "type" : "boolean",\n "default": true\n },\n "specification" : {\n "title": "JOLT specification",\n "type" : "string",\n "x-schema-form": {\n "type": "codemirror",\n "codemirrorOptions": {\n "placeholder": "Place your JOLT specification here or drag\'n\'drop your JOLT specification file",\n "lineWrapping": true,\n "lineNumbers": true,\n "allowDropFileTypes": true,\n "autoCloseTags": true,\n "mode": "javascript"\n },\n "expression-language": true\n }\n }\n },\n "required": [\n "specification"\n ]\n}\n',
454
+ version: '1.6.0',
455
+ };
456
+ return Object.assign(Object.assign({}, base), attributes);
457
+ }
458
+
459
+ function fakePolicyDocumentation(attributes) {
460
+ const base = `
461
+ = RateLimit policy
462
+
463
+
464
+ ifdef::env-github[]
465
+ image:https://ci.gravitee.io/buildStatus/icon?job=gravitee-io/gravitee-policy-ratelimit/master["Build status", link="https://ci.gravitee.io/job/gravitee-io/job/gravitee-policy-ratelimit/"]
466
+ image:https://badges.gitter.im/Join Chat.svg["Gitter", link="https://gitter.im/gravitee-io/gravitee-io?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"]
467
+ endif::[]
468
+
469
+ == Phase
470
+
471
+ |===
472
+ |onRequest |onResponse
473
+
474
+ | X
475
+ |
476
+
477
+ |===
478
+
479
+ == Description
480
+
481
+ There are three \`rate-limit\` policies:
482
+
483
+ * Quota: configures the number of requests allowed over a period of time (hours, days, weeks, months)
484
+ * Rate-Limit: configures the number of requests allowed over a limited period of time (seconds, minutes)
485
+ * Spike-Arrest: throttles the number of requests processed and sends them to the backend to avoid a spike
486
+
487
+ == Configuration
488
+
489
+ You can configure the policies with the following options:
490
+
491
+ === Quota
492
+
493
+ The Quota policy configures the number of requests allowed over a large period of time (from hours to months).
494
+ This policy does not prevent request spikes.
495
+
496
+ |===
497
+ |Property |Required |Description |Type |Default
498
+
499
+ |key
500
+ |No
501
+ |Key to identify a consumer to apply the quota against. Leave it empty to apply the default behavior (plan/subscription pair). Supports Expression Language.
502
+ |String
503
+ |null
504
+
505
+ |limit
506
+ |No
507
+ |Static limit on the number of requests that can be sent (this limit is used if the value > 0).
508
+ |integer
509
+ |0
510
+
511
+ |dynamicLimit
512
+ |No
513
+ |Dynamic limit on the number of requests that can be sent (this limit is used if static limit = 0). The dynamic value is based on Expression Language expressions.
514
+ |string
515
+ |null
516
+
517
+ |periodTime
518
+ |Yes
519
+ |Time duration
520
+ |Integer
521
+ |1
522
+
523
+ |periodTimeUnit
524
+ |Yes
525
+ |Time unit (\`HOURS\`, \`DAYS\`, \`WEEKS\`, \`MONTHS\`)
526
+ |String
527
+ |MONTHS
528
+
529
+ |===
530
+
531
+ ==== Configuration example
532
+
533
+ [source, json]
534
+ ----
535
+ "quota": {
536
+ "limit": "1000",
537
+ "periodTime": 1,
538
+ "periodTimeUnit": "MONTHS"
539
+ }
540
+ ----
541
+
542
+ === Rate-Limit
543
+
544
+ The Rate-Limit policy configures the number of requests allow over a limited period of time (from seconds to minutes).
545
+ This policy does not prevent request spikes.
546
+
547
+ |===
548
+ |Property |Required |Description |Type |Default
549
+
550
+ |key
551
+ |No
552
+ |Key to identify a consumer to apply rate-limiting against. Leave it empty to use the default behavior (plan/subscription pair). Supports Expression Language.
553
+ |String
554
+ |null
555
+
556
+ |limit
557
+ |No
558
+ |Static limit on the number of requests that can be sent (this limit is used if the value > 0).
559
+ |integer
560
+ |0
561
+
562
+ |dynamicLimit
563
+ |No
564
+ |Dynamic limit on the number of requests that can be sent (this limit is used if static limit = 0). The dynamic value is based on Expression Language expressions.
565
+ |string
566
+ |null
567
+
568
+ |periodTime
569
+ |Yes
570
+ |Time duration
571
+ |Integer
572
+ |1
573
+
574
+ |periodTimeUnit
575
+ |Yes
576
+ |Time unit ("SECONDS", "MINUTES" )
577
+ |String
578
+ |SECONDS
579
+
580
+ |===
581
+
582
+ ==== Configuration example
583
+
584
+ [source, json]
585
+ ----
586
+ "rate": {
587
+ "limit": "10",
588
+ "periodTime": 10,
589
+ "periodTimeUnit": "MINUTES"
590
+ }
591
+ ----
592
+
593
+ === Spike Arrest
594
+
595
+ The Spike-Arrest policy configures the number of requests allow over a limited period of time (from seconds to minutes).
596
+ This policy prevents request spikes by throttling incoming requests.
597
+ For example, a SpikeArrest policy configured to 2000 requests/second will limit the execution of simultaneous requests to 200 requests per 100ms.
598
+
599
+ By default, the SpikeArrest policy is applied to a plan, not a consumer. To apply a spike arrest to a consumer, you need to use the \`key\` attribute, which supports Expression Language.
600
+
601
+ |===
602
+ |Property |Required |Description |Type |Default
603
+
604
+ |key
605
+ |No
606
+ |Key to identify a consumer to apply spike arresting against. Leave it empty to use the default behavior. Supports Expression Language (example: \`{#request.headers['x-consumer-id']}\`).
607
+ |String
608
+ |null
609
+
610
+ |limit
611
+ |No
612
+ |Static limit on the number of requests that can be sent (this limit is used if the value > 0).
613
+ |integer
614
+ |0
615
+
616
+ |dynamicLimit
617
+ |No
618
+ |Dynamic limit on the number of requests that can be sent (this limit is used if static limit = 0). The dynamic value is based on Expression Language expressions.
619
+ |string
620
+ |null
621
+
622
+ |periodTime
623
+ |Yes
624
+ |Time duration
625
+ |Integer
626
+ |1
627
+
628
+ |periodTimeUnit
629
+ |Yes
630
+ |Time unit (\`SECONDS\`, \`MINUTES\`)
631
+ |String
632
+ |SECONDS
633
+
634
+ |===
635
+
636
+ ==== Configuration example
637
+
638
+ [source, json]
639
+ ----
640
+ "spike": {
641
+ "limit": "10",
642
+ "periodTime": 10,
643
+ "periodTimeUnit": "MINUTES"
644
+ }
645
+ ----
646
+
647
+ == Errors
648
+
649
+ === Default response override
650
+
651
+ You can use the response template feature to override the default response provided by the policies. These templates must be defined at the API level (see the API Console *Response Templates*
652
+ option in the API *Proxy* menu).
653
+
654
+ === Error keys
655
+
656
+ The error keys sent by these policies are as follows:
657
+
658
+ [cols="2*", options="header"]
659
+ |===
660
+ ^|Key
661
+ ^|Parameters
662
+
663
+ .^|RATE_LIMIT_TOO_MANY_REQUESTS
664
+ ^.^|limit - period_time - period_unit
665
+
666
+ .^|QUOTA_TOO_MANY_REQUESTS
667
+ ^.^|limit - period_time - period_unit
668
+
669
+ .^|SPIKE_ARREST_TOO_MANY_REQUESTS
670
+ ^.^|limit - period_time - period_unit - slice_limit - slice_period_time - slice_limit_period_unit
671
+
672
+ |===
673
+ `;
674
+ return attributes !== null && attributes !== void 0 ? attributes : base;
675
+ }
676
+
677
+ function fakePolicySchema(attributes) {
678
+ const base = 'A policy schema';
679
+ return attributes !== null && attributes !== void 0 ? attributes : base;
680
+ }
681
+
682
+ /*
683
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
684
+ *
685
+ * Licensed under the Apache License, Version 2.0 (the "License");
686
+ * you may not use this file except in compliance with the License.
687
+ * You may obtain a copy of the License at
688
+ *
689
+ * http://www.apache.org/licenses/LICENSE-2.0
690
+ *
691
+ * Unless required by applicable law or agreed to in writing, software
692
+ * distributed under the License is distributed on an "AS IS" BASIS,
693
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
694
+ * See the License for the specific language governing permissions and
695
+ * limitations under the License.
696
+ */
697
+
698
+ /*
699
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
700
+ *
701
+ * Licensed under the Apache License, Version 2.0 (the "License");
702
+ * you may not use this file except in compliance with the License.
703
+ * You may obtain a copy of the License at
704
+ *
705
+ * http://www.apache.org/licenses/LICENSE-2.0
706
+ *
707
+ * Unless required by applicable law or agreed to in writing, software
708
+ * distributed under the License is distributed on an "AS IS" BASIS,
709
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
710
+ * See the License for the specific language governing permissions and
711
+ * limitations under the License.
712
+ */
713
+ class PolicyService extends PolicyServiceAbstract {
714
+ list(_params) {
715
+ return of([fakePolicyListItem()]);
716
+ }
717
+ listSwaggerPolicies() {
718
+ return of([fakePolicyListItem()]);
719
+ }
720
+ getSchema(_policyId) {
721
+ return of(fakePolicySchema());
722
+ }
723
+ getDocumentation(_policyId) {
724
+ return of(fakePolicyDocumentation()).pipe(map(buffer => buffer.toString()));
725
+ }
726
+ }
727
+ PolicyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PolicyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
728
+ PolicyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PolicyService });
729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PolicyService, decorators: [{
730
+ type: Injectable
731
+ }] });
732
+
733
+ function fakeResourceDocumentation(attributes) {
734
+ const base = `
735
+ = Cache Resource
736
+
737
+ ifdef::env-github[]
738
+ image:https://ci.gravitee.io/buildStatus/icon?job=gravitee-io/gravitee-resource-cache/master["Build status", link="https://ci.gravitee.io/job/gravitee-io/job/gravitee-resource-cache/"]
739
+ image:https://badges.gitter.im/Join Chat.svg["Gitter", link="https://gitter.im/gravitee-io/gravitee-io?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"]
740
+ endif::[]
741
+
742
+ == Description
743
+
744
+ The cache resource is used to maintain a cache and link it to the API lifecycle.
745
+ It means that the cache is initialized when the API is starting and released when API is stopped.
746
+
747
+ This cache is responsible to store HTTP response from the backend to avoid subsequent calls.
748
+
749
+ Current implementation of the cache resource is based on https://hazelcast.com/[Hazelcast].
750
+
751
+ == Configuration
752
+
753
+ You can configure the resource with the following options :
754
+
755
+ |===
756
+ |Property |Required |Description |Type |Default
757
+
758
+ .^|name
759
+ ^.^|X
760
+ |The name of the cache.
761
+ ^.^|string
762
+ ^.^|my-cache
763
+
764
+ .^|timeToIdleSeconds
765
+ ^.^|X
766
+ |The maximum number of seconds an element can exist in the cache without being accessed. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToIdle (TTI) eviction takes place (infinite lifetime).
767
+ ^.^|integer
768
+ ^.^|0
769
+
770
+ .^|timeToLiveSeconds
771
+ ^.^|X
772
+ |The maximum number of seconds an element can exist in the cache regardless of use. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToLive (TTL) eviction takes place (infinite lifetime).
773
+ ^.^|integer
774
+ ^.^|0
775
+
776
+ .^|maxEntriesLocalHeap
777
+ ^.^|X
778
+ |The maximum objects to be held in local heap memory (0 = no limit).
779
+ ^.^|integer
780
+ ^.^|1000
781
+
782
+ |===
783
+
784
+
785
+ [source, json]
786
+ .Configuration example
787
+ ----
788
+ {
789
+ "name" : "cache",
790
+ "type" : "cache",
791
+ "enabled" : true,
792
+ "configuration" : {
793
+ "name": "my-cache",
794
+ "timeToIdleSeconds":0,
795
+ "timeToLiveSeconds":0,
796
+ "maxEntriesLocalHeap":1000
797
+ }
798
+ }
799
+ ----`;
800
+ return attributes !== null && attributes !== void 0 ? attributes : base;
801
+ }
802
+
803
+ function fakeResourceListItem(attributes) {
804
+ const base = {
805
+ description: 'The resource is used to maintain a cache and link it to the API lifecycle. It means that the cache is initialized when the API is starting and released when API is stopped.',
806
+ icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy0ye2xldHRlci1zcGFjaW5nOi0wLjAxZW07fS5jbHMtM3tmaWxsOiM4NmMzZDA7fS5jbHMtNHtmaWxsOiNmZmY7c3Ryb2tlOiNmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJIT1NUSU5HIj48dGV4dCBjbGFzcz0iY2xzLTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3LjkzIC00Ljk4KSI+PHRzcGFuIGNsYXNzPSJjbHMtMiI+QzwvdHNwYW4+PHRzcGFuIHg9IjYuODgiIHk9IjAiPmFjaGU8L3RzcGFuPjwvdGV4dD48cmVjdCBjbGFzcz0iY2xzLTMiIHg9IjUiIHk9IjExIiB3aWR0aD0iOTAiIGhlaWdodD0iOTAiIGZpbGw9InRyYW5zcGFyZW50IiBzdHJva2Utd2lkdGg9IjUiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik00Ny40NSw3Ny41OEEyMy4zLDIzLjMsMCwwLDEsNDIsNzYuOTNMNDIuNDYsNzVhMjEuMzQsMjEuMzQsMCwxLDAtMTEtMzQuODNsLTEuNS0xLjMyQTIzLjM0LDIzLjM0LDAsMSwxLDQ3LjQ1LDc3LjU4WiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI0Ni4yOCA3MC44OSAzNC40MSA3Mi4zNyA0MS42MyA4MS45MSA0Ni4yOCA3MC44OSIvPjwvZz48L3N2Zz4K',
807
+ id: 'cache',
808
+ name: 'Cache',
809
+ schema: '{\n "type" : "object",\n "id" : "urn:jsonschema:io:gravitee:resource:cache:configuration:CacheResourceConfiguration",\n "properties" : {\n "name" : {\n "title": "Cache name",\n "description": "The name of the cache.",\n "type" : "string",\n "default": "my-cache"\n },\n "timeToIdleSeconds" : {\n "title": "Time to idle (in seconds)",\n "type" : "integer",\n "description": "The maximum number of seconds an element can exist in the cache without being accessed. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToIdle (TTI) eviction takes place (infinite lifetime).",\n "default": 0,\n "minimum": 0\n },\n "timeToLiveSeconds" : {\n "title": "Time to live (in seconds)",\n "type" : "integer",\n "description": "The maximum number of seconds an element can exist in the cache regardless of use. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToLive (TTL) eviction takes place (infinite lifetime).",\n "default": 0,\n "minimum": 0\n },\n "maxEntriesLocalHeap" : {\n "title": "Max entries on heap",\n "description": "The maximum objects to be held in local heap memory (0 = no limit).",\n "type" : "integer",\n "default": 1000,\n "minimum": 0\n }\n },\n "required": [\n "name",\n "timeToIdleSeconds",\n "timeToLiveSeconds",\n "maxEntriesLocalHeap",\n "timeToLiveSeconds"\n ]\n}\n',
810
+ version: '1.6.1',
811
+ };
812
+ return Object.assign(Object.assign({}, base), attributes);
813
+ }
814
+
815
+ /*
816
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
817
+ *
818
+ * Licensed under the Apache License, Version 2.0 (the "License");
819
+ * you may not use this file except in compliance with the License.
820
+ * You may obtain a copy of the License at
821
+ *
822
+ * http://www.apache.org/licenses/LICENSE-2.0
823
+ *
824
+ * Unless required by applicable law or agreed to in writing, software
825
+ * distributed under the License is distributed on an "AS IS" BASIS,
826
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
827
+ * See the License for the specific language governing permissions and
828
+ * limitations under the License.
829
+ */
830
+
831
+ /*
832
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
833
+ *
834
+ * Licensed under the Apache License, Version 2.0 (the "License");
835
+ * you may not use this file except in compliance with the License.
836
+ * You may obtain a copy of the License at
837
+ *
838
+ * http://www.apache.org/licenses/LICENSE-2.0
839
+ *
840
+ * Unless required by applicable law or agreed to in writing, software
841
+ * distributed under the License is distributed on an "AS IS" BASIS,
842
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
843
+ * See the License for the specific language governing permissions and
844
+ * limitations under the License.
845
+ */
846
+ class ResourceService extends ResourceServiceAbstract {
847
+ list(_params) {
848
+ return of([fakeResourceListItem()]);
849
+ }
850
+ getDocumentation(_resourceId) {
851
+ return of(fakeResourceDocumentation());
852
+ }
853
+ }
854
+ ResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ResourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
855
+ ResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ResourceService });
856
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ResourceService, decorators: [{
857
+ type: Injectable
858
+ }] });
859
+
860
+ function fakeGrammar(attributes) {
861
+ return Object.assign(Object.assign({}, base), attributes);
862
+ }
863
+ const base = {
864
+ request: {
865
+ content: {
866
+ _type: 'String',
867
+ },
868
+ contextPath: {
869
+ _type: 'String',
870
+ },
871
+ headers: {
872
+ _type: 'HttpHeaders',
873
+ },
874
+ id: {
875
+ _type: 'String',
876
+ },
877
+ localAddress: {
878
+ _type: 'String',
879
+ },
880
+ params: {
881
+ _type: 'MultiValueMap',
882
+ },
883
+ path: {
884
+ _type: 'String',
885
+ },
886
+ pathInfo: {
887
+ _type: 'String',
888
+ },
889
+ pathInfos: {
890
+ _type: 'String[]',
891
+ },
892
+ pathParams: {
893
+ _type: 'MultiValueMap',
894
+ },
895
+ paths: {
896
+ _type: 'String[]',
897
+ },
898
+ remoteAddress: {
899
+ _type: 'String',
900
+ },
901
+ scheme: {
902
+ _type: 'String',
903
+ },
904
+ ssl: {
905
+ client: {
906
+ attributes: {
907
+ _type: 'MultiValueMap',
908
+ },
909
+ businessCategory: {
910
+ _type: 'String',
911
+ },
912
+ c: {
913
+ _type: 'String',
914
+ },
915
+ cn: {
916
+ _type: 'String',
917
+ },
918
+ countryOfCitizenship: {
919
+ _type: 'String',
920
+ },
921
+ countryOfResidence: {
922
+ _type: 'String',
923
+ },
924
+ dateOfBirth: {
925
+ _type: 'String',
926
+ },
927
+ dc: {
928
+ _type: 'String',
929
+ },
930
+ defined: {
931
+ _type: 'boolean',
932
+ },
933
+ description: {
934
+ _type: 'String',
935
+ },
936
+ dmdName: {
937
+ _type: 'String',
938
+ },
939
+ dn: {
940
+ _type: 'String',
941
+ },
942
+ dnQualifier: {
943
+ _type: 'String',
944
+ },
945
+ e: {
946
+ _type: 'String',
947
+ },
948
+ emailAddress: {
949
+ _type: 'String',
950
+ },
951
+ gender: {
952
+ _type: 'String',
953
+ },
954
+ generation: {
955
+ _type: 'String',
956
+ },
957
+ givenname: {
958
+ _type: 'String',
959
+ },
960
+ initials: {
961
+ _type: 'String',
962
+ },
963
+ l: {
964
+ _type: 'String',
965
+ },
966
+ name: {
967
+ _type: 'String',
968
+ },
969
+ nameAtBirth: {
970
+ _type: 'String',
971
+ },
972
+ o: {
973
+ _type: 'String',
974
+ },
975
+ organizationIdentifier: {
976
+ _type: 'String',
977
+ },
978
+ ou: {
979
+ _type: 'String',
980
+ },
981
+ placeOfBirth: {
982
+ _type: 'String',
983
+ },
984
+ postalAddress: {
985
+ _type: 'String',
986
+ },
987
+ postalCode: {
988
+ _type: 'String',
989
+ },
990
+ pseudonym: {
991
+ _type: 'String',
992
+ },
993
+ role: {
994
+ _type: 'String',
995
+ },
996
+ serialnumber: {
997
+ _type: 'String',
998
+ },
999
+ st: {
1000
+ _type: 'String',
1001
+ },
1002
+ street: {
1003
+ _type: 'String',
1004
+ },
1005
+ surname: {
1006
+ _type: 'String',
1007
+ },
1008
+ t: {
1009
+ _type: 'String',
1010
+ },
1011
+ telephoneNumber: {
1012
+ _type: 'String',
1013
+ },
1014
+ uid: {
1015
+ _type: 'String',
1016
+ },
1017
+ uniqueIdentifier: {
1018
+ _type: 'String',
1019
+ },
1020
+ unstructuredAddress: {
1021
+ _type: 'String',
1022
+ },
1023
+ },
1024
+ clientHost: {
1025
+ _type: 'String',
1026
+ },
1027
+ clientPort: {
1028
+ _type: 'Integer',
1029
+ },
1030
+ server: {
1031
+ attributes: {
1032
+ _type: 'MultiValueMap',
1033
+ },
1034
+ businessCategory: {
1035
+ _type: 'String',
1036
+ },
1037
+ c: {
1038
+ _type: 'String',
1039
+ },
1040
+ cn: {
1041
+ _type: 'String',
1042
+ },
1043
+ countryOfCitizenship: {
1044
+ _type: 'String',
1045
+ },
1046
+ countryOfResidence: {
1047
+ _type: 'String',
1048
+ },
1049
+ dateOfBirth: {
1050
+ _type: 'String',
1051
+ },
1052
+ dc: {
1053
+ _type: 'String',
1054
+ },
1055
+ defined: {
1056
+ _type: 'boolean',
1057
+ },
1058
+ description: {
1059
+ _type: 'String',
1060
+ },
1061
+ dmdName: {
1062
+ _type: 'String',
1063
+ },
1064
+ dn: {
1065
+ _type: 'String',
1066
+ },
1067
+ dnQualifier: {
1068
+ _type: 'String',
1069
+ },
1070
+ e: {
1071
+ _type: 'String',
1072
+ },
1073
+ emailAddress: {
1074
+ _type: 'String',
1075
+ },
1076
+ gender: {
1077
+ _type: 'String',
1078
+ },
1079
+ generation: {
1080
+ _type: 'String',
1081
+ },
1082
+ givenname: {
1083
+ _type: 'String',
1084
+ },
1085
+ initials: {
1086
+ _type: 'String',
1087
+ },
1088
+ l: {
1089
+ _type: 'String',
1090
+ },
1091
+ name: {
1092
+ _type: 'String',
1093
+ },
1094
+ nameAtBirth: {
1095
+ _type: 'String',
1096
+ },
1097
+ o: {
1098
+ _type: 'String',
1099
+ },
1100
+ organizationIdentifier: {
1101
+ _type: 'String',
1102
+ },
1103
+ ou: {
1104
+ _type: 'String',
1105
+ },
1106
+ placeOfBirth: {
1107
+ _type: 'String',
1108
+ },
1109
+ postalAddress: {
1110
+ _type: 'String',
1111
+ },
1112
+ postalCode: {
1113
+ _type: 'String',
1114
+ },
1115
+ pseudonym: {
1116
+ _type: 'String',
1117
+ },
1118
+ role: {
1119
+ _type: 'String',
1120
+ },
1121
+ serialnumber: {
1122
+ _type: 'String',
1123
+ },
1124
+ st: {
1125
+ _type: 'String',
1126
+ },
1127
+ street: {
1128
+ _type: 'String',
1129
+ },
1130
+ surname: {
1131
+ _type: 'String',
1132
+ },
1133
+ t: {
1134
+ _type: 'String',
1135
+ },
1136
+ telephoneNumber: {
1137
+ _type: 'String',
1138
+ },
1139
+ uid: {
1140
+ _type: 'String',
1141
+ },
1142
+ uniqueIdentifier: {
1143
+ _type: 'String',
1144
+ },
1145
+ unstructuredAddress: {
1146
+ _type: 'String',
1147
+ },
1148
+ },
1149
+ },
1150
+ timestamp: {
1151
+ _type: 'long',
1152
+ },
1153
+ transactionId: {
1154
+ _type: 'String',
1155
+ },
1156
+ uri: {
1157
+ _type: 'String',
1158
+ },
1159
+ version: {
1160
+ _type: 'String',
1161
+ },
1162
+ },
1163
+ endpoints: {
1164
+ _type: 'String[]',
1165
+ },
1166
+ response: {
1167
+ headers: {
1168
+ _type: 'HttpHeaders',
1169
+ },
1170
+ content: {
1171
+ _type: 'String',
1172
+ },
1173
+ status: {
1174
+ _type: 'int',
1175
+ },
1176
+ },
1177
+ context: {
1178
+ attributes: {
1179
+ 'context-path': {
1180
+ _type: 'String',
1181
+ },
1182
+ application: {
1183
+ _type: 'String',
1184
+ },
1185
+ 'api-key': {
1186
+ _type: 'String',
1187
+ },
1188
+ 'user-id': {
1189
+ _type: 'String',
1190
+ },
1191
+ api: {
1192
+ _type: 'String',
1193
+ },
1194
+ plan: {
1195
+ _type: 'String',
1196
+ },
1197
+ 'resolved-path': {
1198
+ _type: 'String',
1199
+ },
1200
+ },
1201
+ },
1202
+ _enums: {
1203
+ HttpHeaders: [
1204
+ 'Accept',
1205
+ 'Accept-Charset',
1206
+ 'Accept-Encoding',
1207
+ 'Accept-Language',
1208
+ 'Accept-Ranges',
1209
+ 'Access-Control-Allow-Credentials',
1210
+ 'Access-Control-Allow-Headers',
1211
+ 'Access-Control-Allow-Methods',
1212
+ 'Access-Control-Allow-Origin',
1213
+ 'Access-Control-Expose-Headers',
1214
+ 'Access-Control-Max-Age',
1215
+ 'Access-Control-Request-Headers',
1216
+ 'Access-Control-Request-Method',
1217
+ 'Age',
1218
+ 'Allow',
1219
+ 'Authorization',
1220
+ 'Cache-Control',
1221
+ 'Connection',
1222
+ 'Content-Disposition',
1223
+ 'Content-Encoding',
1224
+ 'Content-ID',
1225
+ 'Content-Language',
1226
+ 'Content-Length',
1227
+ 'Content-Location',
1228
+ 'Content-MD5',
1229
+ 'Content-Range',
1230
+ 'Content-Type',
1231
+ 'Cookie',
1232
+ 'Date',
1233
+ 'ETag',
1234
+ 'Expires',
1235
+ 'Expect',
1236
+ 'Forwarded',
1237
+ 'From',
1238
+ 'Host',
1239
+ 'If-Match',
1240
+ 'If-Modified-Since',
1241
+ 'If-None-Match',
1242
+ 'If-Unmodified-Since',
1243
+ 'Keep-Alive',
1244
+ 'Last-Modified',
1245
+ 'Location',
1246
+ 'Link',
1247
+ 'Max-Forwards',
1248
+ 'MIME-Version',
1249
+ 'Origin',
1250
+ 'Pragma',
1251
+ 'Proxy-Authenticate',
1252
+ 'Proxy-Authorization',
1253
+ 'Proxy-Connection',
1254
+ 'Range',
1255
+ 'Referer',
1256
+ 'Retry-After',
1257
+ 'Server',
1258
+ 'Set-Cookie',
1259
+ 'Set-Cookie2',
1260
+ 'TE',
1261
+ 'Trailer',
1262
+ 'Transfer-Encoding',
1263
+ 'Upgrade',
1264
+ 'User-Agent',
1265
+ 'Vary',
1266
+ 'Via',
1267
+ 'Warning',
1268
+ 'WWW-Authenticate',
1269
+ 'X-Forwarded-For',
1270
+ 'X-Forwarded-Proto',
1271
+ 'X-Forwarded-Server',
1272
+ 'X-Forwarded-Host',
1273
+ 'X-Forwarded-Port',
1274
+ 'X-Forwarded-Prefix',
1275
+ ],
1276
+ },
1277
+ properties: {
1278
+ _type: 'String[]',
1279
+ },
1280
+ dictionaries: {
1281
+ _type: 'String[]',
1282
+ },
1283
+ _types: {
1284
+ MultiValueMap: {
1285
+ methods: [
1286
+ {
1287
+ name: 'containsKey',
1288
+ returnType: 'boolean',
1289
+ params: [
1290
+ {
1291
+ name: 'arg0',
1292
+ type: 'Object',
1293
+ },
1294
+ ],
1295
+ },
1296
+ {
1297
+ name: 'containsValue',
1298
+ returnType: 'boolean',
1299
+ params: [
1300
+ {
1301
+ name: 'arg0',
1302
+ type: 'Object',
1303
+ },
1304
+ ],
1305
+ },
1306
+ {
1307
+ name: 'entrySet',
1308
+ returnType: 'Set',
1309
+ },
1310
+ {
1311
+ name: 'get',
1312
+ returnType: 'Object',
1313
+ params: [
1314
+ {
1315
+ name: 'arg0',
1316
+ type: 'Object',
1317
+ },
1318
+ ],
1319
+ },
1320
+ {
1321
+ name: 'getOrDefault',
1322
+ returnType: 'Object',
1323
+ params: [
1324
+ {
1325
+ name: 'arg0',
1326
+ type: 'Object',
1327
+ },
1328
+ {
1329
+ name: 'arg1',
1330
+ type: 'Object',
1331
+ },
1332
+ ],
1333
+ },
1334
+ {
1335
+ name: 'isEmpty',
1336
+ returnType: 'boolean',
1337
+ },
1338
+ {
1339
+ name: 'keySet',
1340
+ returnType: 'Set',
1341
+ },
1342
+ {
1343
+ name: 'size',
1344
+ returnType: 'int',
1345
+ },
1346
+ {
1347
+ name: 'values',
1348
+ returnType: 'Collection',
1349
+ },
1350
+ ],
1351
+ },
1352
+ HttpHeaders: {
1353
+ methods: [
1354
+ {
1355
+ name: 'equals',
1356
+ returnType: 'boolean',
1357
+ params: [
1358
+ {
1359
+ name: 'arg0',
1360
+ type: 'Object',
1361
+ },
1362
+ ],
1363
+ },
1364
+ {
1365
+ name: 'hashCode',
1366
+ returnType: 'int',
1367
+ },
1368
+ {
1369
+ name: 'toString',
1370
+ returnType: 'String',
1371
+ },
1372
+ {
1373
+ name: 'containsKey',
1374
+ returnType: 'boolean',
1375
+ params: [
1376
+ {
1377
+ name: 'arg0',
1378
+ type: 'Object',
1379
+ },
1380
+ ],
1381
+ },
1382
+ {
1383
+ name: 'containsValue',
1384
+ returnType: 'boolean',
1385
+ params: [
1386
+ {
1387
+ name: 'arg0',
1388
+ type: 'Object',
1389
+ },
1390
+ ],
1391
+ },
1392
+ {
1393
+ name: 'entrySet',
1394
+ returnType: 'Set',
1395
+ },
1396
+ {
1397
+ name: 'get',
1398
+ returnType: 'Object',
1399
+ params: [
1400
+ {
1401
+ name: 'arg0',
1402
+ type: 'Object',
1403
+ },
1404
+ ],
1405
+ },
1406
+ {
1407
+ name: 'getOrDefault',
1408
+ returnType: 'Object',
1409
+ params: [
1410
+ {
1411
+ name: 'arg0',
1412
+ type: 'Object',
1413
+ },
1414
+ {
1415
+ name: 'arg1',
1416
+ type: 'Object',
1417
+ },
1418
+ ],
1419
+ },
1420
+ {
1421
+ name: 'isEmpty',
1422
+ returnType: 'boolean',
1423
+ },
1424
+ {
1425
+ name: 'keySet',
1426
+ returnType: 'Set',
1427
+ },
1428
+ {
1429
+ name: 'size',
1430
+ returnType: 'int',
1431
+ },
1432
+ {
1433
+ name: 'values',
1434
+ returnType: 'Collection',
1435
+ },
1436
+ ],
1437
+ },
1438
+ Map: {
1439
+ methods: [
1440
+ {
1441
+ name: 'containsKey',
1442
+ returnType: 'boolean',
1443
+ params: [
1444
+ {
1445
+ name: 'arg0',
1446
+ type: 'Object',
1447
+ },
1448
+ ],
1449
+ },
1450
+ {
1451
+ name: 'containsValue',
1452
+ returnType: 'boolean',
1453
+ params: [
1454
+ {
1455
+ name: 'arg0',
1456
+ type: 'Object',
1457
+ },
1458
+ ],
1459
+ },
1460
+ {
1461
+ name: 'entrySet',
1462
+ returnType: 'Set',
1463
+ },
1464
+ {
1465
+ name: 'get',
1466
+ returnType: 'Object',
1467
+ params: [
1468
+ {
1469
+ name: 'arg0',
1470
+ type: 'Object',
1471
+ },
1472
+ ],
1473
+ },
1474
+ {
1475
+ name: 'getOrDefault',
1476
+ returnType: 'Object',
1477
+ params: [
1478
+ {
1479
+ name: 'arg0',
1480
+ type: 'Object',
1481
+ },
1482
+ {
1483
+ name: 'arg1',
1484
+ type: 'Object',
1485
+ },
1486
+ ],
1487
+ },
1488
+ {
1489
+ name: 'isEmpty',
1490
+ returnType: 'boolean',
1491
+ },
1492
+ {
1493
+ name: 'keySet',
1494
+ returnType: 'Set',
1495
+ },
1496
+ {
1497
+ name: 'size',
1498
+ returnType: 'int',
1499
+ },
1500
+ {
1501
+ name: 'values',
1502
+ returnType: 'Collection',
1503
+ },
1504
+ ],
1505
+ },
1506
+ Boolean: {
1507
+ methods: [
1508
+ {
1509
+ name: 'equals',
1510
+ returnType: 'boolean',
1511
+ params: [
1512
+ {
1513
+ name: 'arg0',
1514
+ type: 'Object',
1515
+ },
1516
+ ],
1517
+ },
1518
+ {
1519
+ name: 'hashCode',
1520
+ returnType: 'int',
1521
+ },
1522
+ {
1523
+ name: 'toString',
1524
+ returnType: 'String',
1525
+ },
1526
+ ],
1527
+ },
1528
+ Integer: {
1529
+ methods: [
1530
+ {
1531
+ name: 'numberOfLeadingZeros',
1532
+ returnType: 'int',
1533
+ params: [
1534
+ {
1535
+ name: 'arg0',
1536
+ type: 'int',
1537
+ },
1538
+ ],
1539
+ },
1540
+ {
1541
+ name: 'numberOfTrailingZeros',
1542
+ returnType: 'int',
1543
+ params: [
1544
+ {
1545
+ name: 'arg0',
1546
+ type: 'int',
1547
+ },
1548
+ ],
1549
+ },
1550
+ {
1551
+ name: 'bitCount',
1552
+ returnType: 'int',
1553
+ params: [
1554
+ {
1555
+ name: 'arg0',
1556
+ type: 'int',
1557
+ },
1558
+ ],
1559
+ },
1560
+ {
1561
+ name: 'equals',
1562
+ returnType: 'boolean',
1563
+ params: [
1564
+ {
1565
+ name: 'arg0',
1566
+ type: 'Object',
1567
+ },
1568
+ ],
1569
+ },
1570
+ {
1571
+ name: 'toString',
1572
+ returnType: 'String',
1573
+ params: [
1574
+ {
1575
+ name: 'arg0',
1576
+ type: 'int',
1577
+ },
1578
+ ],
1579
+ },
1580
+ {
1581
+ name: 'toString',
1582
+ returnType: 'String',
1583
+ params: [
1584
+ {
1585
+ name: 'arg0',
1586
+ type: 'int',
1587
+ },
1588
+ {
1589
+ name: 'arg1',
1590
+ type: 'int',
1591
+ },
1592
+ ],
1593
+ },
1594
+ {
1595
+ name: 'toString',
1596
+ returnType: 'String',
1597
+ },
1598
+ {
1599
+ name: 'hashCode',
1600
+ returnType: 'int',
1601
+ params: [
1602
+ {
1603
+ name: 'arg0',
1604
+ type: 'int',
1605
+ },
1606
+ ],
1607
+ },
1608
+ {
1609
+ name: 'hashCode',
1610
+ returnType: 'int',
1611
+ },
1612
+ {
1613
+ name: 'min',
1614
+ returnType: 'int',
1615
+ params: [
1616
+ {
1617
+ name: 'arg0',
1618
+ type: 'int',
1619
+ },
1620
+ {
1621
+ name: 'arg1',
1622
+ type: 'int',
1623
+ },
1624
+ ],
1625
+ },
1626
+ {
1627
+ name: 'max',
1628
+ returnType: 'int',
1629
+ params: [
1630
+ {
1631
+ name: 'arg0',
1632
+ type: 'int',
1633
+ },
1634
+ {
1635
+ name: 'arg1',
1636
+ type: 'int',
1637
+ },
1638
+ ],
1639
+ },
1640
+ {
1641
+ name: 'signum',
1642
+ returnType: 'int',
1643
+ params: [
1644
+ {
1645
+ name: 'arg0',
1646
+ type: 'int',
1647
+ },
1648
+ ],
1649
+ },
1650
+ {
1651
+ name: 'reverseBytes',
1652
+ returnType: 'int',
1653
+ params: [
1654
+ {
1655
+ name: 'arg0',
1656
+ type: 'int',
1657
+ },
1658
+ ],
1659
+ },
1660
+ {
1661
+ name: 'compareTo',
1662
+ returnType: 'int',
1663
+ params: [
1664
+ {
1665
+ name: 'arg0',
1666
+ type: 'Object',
1667
+ },
1668
+ ],
1669
+ },
1670
+ {
1671
+ name: 'compareTo',
1672
+ returnType: 'int',
1673
+ params: [
1674
+ {
1675
+ name: 'arg0',
1676
+ type: 'Integer',
1677
+ },
1678
+ ],
1679
+ },
1680
+ {
1681
+ name: 'byteValue',
1682
+ returnType: 'byte',
1683
+ },
1684
+ {
1685
+ name: 'shortValue',
1686
+ returnType: 'short',
1687
+ },
1688
+ {
1689
+ name: 'intValue',
1690
+ returnType: 'int',
1691
+ },
1692
+ {
1693
+ name: 'longValue',
1694
+ returnType: 'long',
1695
+ },
1696
+ {
1697
+ name: 'floatValue',
1698
+ returnType: 'float',
1699
+ },
1700
+ {
1701
+ name: 'doubleValue',
1702
+ returnType: 'double',
1703
+ },
1704
+ {
1705
+ name: 'valueOf',
1706
+ returnType: 'Integer',
1707
+ params: [
1708
+ {
1709
+ name: 'arg0',
1710
+ type: 'String',
1711
+ },
1712
+ ],
1713
+ },
1714
+ {
1715
+ name: 'valueOf',
1716
+ returnType: 'Integer',
1717
+ params: [
1718
+ {
1719
+ name: 'arg0',
1720
+ type: 'int',
1721
+ },
1722
+ ],
1723
+ },
1724
+ {
1725
+ name: 'valueOf',
1726
+ returnType: 'Integer',
1727
+ params: [
1728
+ {
1729
+ name: 'arg0',
1730
+ type: 'String',
1731
+ },
1732
+ {
1733
+ name: 'arg1',
1734
+ type: 'int',
1735
+ },
1736
+ ],
1737
+ },
1738
+ {
1739
+ name: 'toHexString',
1740
+ returnType: 'String',
1741
+ params: [
1742
+ {
1743
+ name: 'arg0',
1744
+ type: 'int',
1745
+ },
1746
+ ],
1747
+ },
1748
+ {
1749
+ name: 'decode',
1750
+ returnType: 'Integer',
1751
+ params: [
1752
+ {
1753
+ name: 'arg0',
1754
+ type: 'String',
1755
+ },
1756
+ ],
1757
+ },
1758
+ {
1759
+ name: 'compare',
1760
+ returnType: 'int',
1761
+ params: [
1762
+ {
1763
+ name: 'arg0',
1764
+ type: 'int',
1765
+ },
1766
+ {
1767
+ name: 'arg1',
1768
+ type: 'int',
1769
+ },
1770
+ ],
1771
+ },
1772
+ {
1773
+ name: 'reverse',
1774
+ returnType: 'int',
1775
+ params: [
1776
+ {
1777
+ name: 'arg0',
1778
+ type: 'int',
1779
+ },
1780
+ ],
1781
+ },
1782
+ {
1783
+ name: 'toUnsignedLong',
1784
+ returnType: 'long',
1785
+ params: [
1786
+ {
1787
+ name: 'arg0',
1788
+ type: 'int',
1789
+ },
1790
+ ],
1791
+ },
1792
+ {
1793
+ name: 'parseInt',
1794
+ returnType: 'int',
1795
+ params: [
1796
+ {
1797
+ name: 'arg0',
1798
+ type: 'String',
1799
+ },
1800
+ {
1801
+ name: 'arg1',
1802
+ type: 'int',
1803
+ },
1804
+ ],
1805
+ },
1806
+ {
1807
+ name: 'parseInt',
1808
+ returnType: 'int',
1809
+ params: [
1810
+ {
1811
+ name: 'arg0',
1812
+ type: 'String',
1813
+ },
1814
+ ],
1815
+ },
1816
+ {
1817
+ name: 'parseInt',
1818
+ returnType: 'int',
1819
+ params: [
1820
+ {
1821
+ name: 'arg0',
1822
+ type: 'CharSequence',
1823
+ },
1824
+ {
1825
+ name: 'arg1',
1826
+ type: 'int',
1827
+ },
1828
+ {
1829
+ name: 'arg2',
1830
+ type: 'int',
1831
+ },
1832
+ {
1833
+ name: 'arg3',
1834
+ type: 'int',
1835
+ },
1836
+ ],
1837
+ },
1838
+ {
1839
+ name: 'sum',
1840
+ returnType: 'int',
1841
+ params: [
1842
+ {
1843
+ name: 'arg0',
1844
+ type: 'int',
1845
+ },
1846
+ {
1847
+ name: 'arg1',
1848
+ type: 'int',
1849
+ },
1850
+ ],
1851
+ },
1852
+ {
1853
+ name: 'compareUnsigned',
1854
+ returnType: 'int',
1855
+ params: [
1856
+ {
1857
+ name: 'arg0',
1858
+ type: 'int',
1859
+ },
1860
+ {
1861
+ name: 'arg1',
1862
+ type: 'int',
1863
+ },
1864
+ ],
1865
+ },
1866
+ {
1867
+ name: 'toUnsignedString',
1868
+ returnType: 'String',
1869
+ params: [
1870
+ {
1871
+ name: 'arg0',
1872
+ type: 'int',
1873
+ },
1874
+ {
1875
+ name: 'arg1',
1876
+ type: 'int',
1877
+ },
1878
+ ],
1879
+ },
1880
+ {
1881
+ name: 'toUnsignedString',
1882
+ returnType: 'String',
1883
+ params: [
1884
+ {
1885
+ name: 'arg0',
1886
+ type: 'int',
1887
+ },
1888
+ ],
1889
+ },
1890
+ {
1891
+ name: 'toOctalString',
1892
+ returnType: 'String',
1893
+ params: [
1894
+ {
1895
+ name: 'arg0',
1896
+ type: 'int',
1897
+ },
1898
+ ],
1899
+ },
1900
+ {
1901
+ name: 'toBinaryString',
1902
+ returnType: 'String',
1903
+ params: [
1904
+ {
1905
+ name: 'arg0',
1906
+ type: 'int',
1907
+ },
1908
+ ],
1909
+ },
1910
+ {
1911
+ name: 'parseUnsignedInt',
1912
+ returnType: 'int',
1913
+ params: [
1914
+ {
1915
+ name: 'arg0',
1916
+ type: 'String',
1917
+ },
1918
+ {
1919
+ name: 'arg1',
1920
+ type: 'int',
1921
+ },
1922
+ ],
1923
+ },
1924
+ {
1925
+ name: 'parseUnsignedInt',
1926
+ returnType: 'int',
1927
+ params: [
1928
+ {
1929
+ name: 'arg0',
1930
+ type: 'String',
1931
+ },
1932
+ ],
1933
+ },
1934
+ {
1935
+ name: 'parseUnsignedInt',
1936
+ returnType: 'int',
1937
+ params: [
1938
+ {
1939
+ name: 'arg0',
1940
+ type: 'CharSequence',
1941
+ },
1942
+ {
1943
+ name: 'arg1',
1944
+ type: 'int',
1945
+ },
1946
+ {
1947
+ name: 'arg2',
1948
+ type: 'int',
1949
+ },
1950
+ {
1951
+ name: 'arg3',
1952
+ type: 'int',
1953
+ },
1954
+ ],
1955
+ },
1956
+ {
1957
+ name: 'getInteger',
1958
+ returnType: 'Integer',
1959
+ params: [
1960
+ {
1961
+ name: 'arg0',
1962
+ type: 'String',
1963
+ },
1964
+ {
1965
+ name: 'arg1',
1966
+ type: 'int',
1967
+ },
1968
+ ],
1969
+ },
1970
+ {
1971
+ name: 'getInteger',
1972
+ returnType: 'Integer',
1973
+ params: [
1974
+ {
1975
+ name: 'arg0',
1976
+ type: 'String',
1977
+ },
1978
+ ],
1979
+ },
1980
+ {
1981
+ name: 'getInteger',
1982
+ returnType: 'Integer',
1983
+ params: [
1984
+ {
1985
+ name: 'arg0',
1986
+ type: 'String',
1987
+ },
1988
+ {
1989
+ name: 'arg1',
1990
+ type: 'Integer',
1991
+ },
1992
+ ],
1993
+ },
1994
+ {
1995
+ name: 'divideUnsigned',
1996
+ returnType: 'int',
1997
+ params: [
1998
+ {
1999
+ name: 'arg0',
2000
+ type: 'int',
2001
+ },
2002
+ {
2003
+ name: 'arg1',
2004
+ type: 'int',
2005
+ },
2006
+ ],
2007
+ },
2008
+ {
2009
+ name: 'remainderUnsigned',
2010
+ returnType: 'int',
2011
+ params: [
2012
+ {
2013
+ name: 'arg0',
2014
+ type: 'int',
2015
+ },
2016
+ {
2017
+ name: 'arg1',
2018
+ type: 'int',
2019
+ },
2020
+ ],
2021
+ },
2022
+ {
2023
+ name: 'highestOneBit',
2024
+ returnType: 'int',
2025
+ params: [
2026
+ {
2027
+ name: 'arg0',
2028
+ type: 'int',
2029
+ },
2030
+ ],
2031
+ },
2032
+ {
2033
+ name: 'lowestOneBit',
2034
+ returnType: 'int',
2035
+ params: [
2036
+ {
2037
+ name: 'arg0',
2038
+ type: 'int',
2039
+ },
2040
+ ],
2041
+ },
2042
+ {
2043
+ name: 'rotateLeft',
2044
+ returnType: 'int',
2045
+ params: [
2046
+ {
2047
+ name: 'arg0',
2048
+ type: 'int',
2049
+ },
2050
+ {
2051
+ name: 'arg1',
2052
+ type: 'int',
2053
+ },
2054
+ ],
2055
+ },
2056
+ {
2057
+ name: 'rotateRight',
2058
+ returnType: 'int',
2059
+ params: [
2060
+ {
2061
+ name: 'arg0',
2062
+ type: 'int',
2063
+ },
2064
+ {
2065
+ name: 'arg1',
2066
+ type: 'int',
2067
+ },
2068
+ ],
2069
+ },
2070
+ {
2071
+ name: 'equals',
2072
+ returnType: 'boolean',
2073
+ params: [
2074
+ {
2075
+ name: 'arg0',
2076
+ type: 'Object',
2077
+ },
2078
+ ],
2079
+ },
2080
+ {
2081
+ name: 'hashCode',
2082
+ returnType: 'int',
2083
+ },
2084
+ {
2085
+ name: 'toString',
2086
+ returnType: 'String',
2087
+ },
2088
+ ],
2089
+ },
2090
+ Long: {
2091
+ methods: [
2092
+ {
2093
+ name: 'numberOfLeadingZeros',
2094
+ returnType: 'int',
2095
+ params: [
2096
+ {
2097
+ name: 'arg0',
2098
+ type: 'long',
2099
+ },
2100
+ ],
2101
+ },
2102
+ {
2103
+ name: 'numberOfTrailingZeros',
2104
+ returnType: 'int',
2105
+ params: [
2106
+ {
2107
+ name: 'arg0',
2108
+ type: 'long',
2109
+ },
2110
+ ],
2111
+ },
2112
+ {
2113
+ name: 'bitCount',
2114
+ returnType: 'int',
2115
+ params: [
2116
+ {
2117
+ name: 'arg0',
2118
+ type: 'long',
2119
+ },
2120
+ ],
2121
+ },
2122
+ {
2123
+ name: 'equals',
2124
+ returnType: 'boolean',
2125
+ params: [
2126
+ {
2127
+ name: 'arg0',
2128
+ type: 'Object',
2129
+ },
2130
+ ],
2131
+ },
2132
+ {
2133
+ name: 'toString',
2134
+ returnType: 'String',
2135
+ params: [
2136
+ {
2137
+ name: 'arg0',
2138
+ type: 'long',
2139
+ },
2140
+ ],
2141
+ },
2142
+ {
2143
+ name: 'toString',
2144
+ returnType: 'String',
2145
+ params: [
2146
+ {
2147
+ name: 'arg0',
2148
+ type: 'long',
2149
+ },
2150
+ {
2151
+ name: 'arg1',
2152
+ type: 'int',
2153
+ },
2154
+ ],
2155
+ },
2156
+ {
2157
+ name: 'toString',
2158
+ returnType: 'String',
2159
+ },
2160
+ {
2161
+ name: 'hashCode',
2162
+ returnType: 'int',
2163
+ params: [
2164
+ {
2165
+ name: 'arg0',
2166
+ type: 'long',
2167
+ },
2168
+ ],
2169
+ },
2170
+ {
2171
+ name: 'hashCode',
2172
+ returnType: 'int',
2173
+ },
2174
+ {
2175
+ name: 'min',
2176
+ returnType: 'long',
2177
+ params: [
2178
+ {
2179
+ name: 'arg0',
2180
+ type: 'long',
2181
+ },
2182
+ {
2183
+ name: 'arg1',
2184
+ type: 'long',
2185
+ },
2186
+ ],
2187
+ },
2188
+ {
2189
+ name: 'max',
2190
+ returnType: 'long',
2191
+ params: [
2192
+ {
2193
+ name: 'arg0',
2194
+ type: 'long',
2195
+ },
2196
+ {
2197
+ name: 'arg1',
2198
+ type: 'long',
2199
+ },
2200
+ ],
2201
+ },
2202
+ {
2203
+ name: 'signum',
2204
+ returnType: 'int',
2205
+ params: [
2206
+ {
2207
+ name: 'arg0',
2208
+ type: 'long',
2209
+ },
2210
+ ],
2211
+ },
2212
+ {
2213
+ name: 'reverseBytes',
2214
+ returnType: 'long',
2215
+ params: [
2216
+ {
2217
+ name: 'arg0',
2218
+ type: 'long',
2219
+ },
2220
+ ],
2221
+ },
2222
+ {
2223
+ name: 'compareTo',
2224
+ returnType: 'int',
2225
+ params: [
2226
+ {
2227
+ name: 'arg0',
2228
+ type: 'Object',
2229
+ },
2230
+ ],
2231
+ },
2232
+ {
2233
+ name: 'compareTo',
2234
+ returnType: 'int',
2235
+ params: [
2236
+ {
2237
+ name: 'arg0',
2238
+ type: 'Long',
2239
+ },
2240
+ ],
2241
+ },
2242
+ {
2243
+ name: 'getLong',
2244
+ returnType: 'Long',
2245
+ params: [
2246
+ {
2247
+ name: 'arg0',
2248
+ type: 'String',
2249
+ },
2250
+ ],
2251
+ },
2252
+ {
2253
+ name: 'getLong',
2254
+ returnType: 'Long',
2255
+ params: [
2256
+ {
2257
+ name: 'arg0',
2258
+ type: 'String',
2259
+ },
2260
+ {
2261
+ name: 'arg1',
2262
+ type: 'long',
2263
+ },
2264
+ ],
2265
+ },
2266
+ {
2267
+ name: 'getLong',
2268
+ returnType: 'Long',
2269
+ params: [
2270
+ {
2271
+ name: 'arg0',
2272
+ type: 'String',
2273
+ },
2274
+ {
2275
+ name: 'arg1',
2276
+ type: 'Long',
2277
+ },
2278
+ ],
2279
+ },
2280
+ {
2281
+ name: 'byteValue',
2282
+ returnType: 'byte',
2283
+ },
2284
+ {
2285
+ name: 'shortValue',
2286
+ returnType: 'short',
2287
+ },
2288
+ {
2289
+ name: 'intValue',
2290
+ returnType: 'int',
2291
+ },
2292
+ {
2293
+ name: 'longValue',
2294
+ returnType: 'long',
2295
+ },
2296
+ {
2297
+ name: 'floatValue',
2298
+ returnType: 'float',
2299
+ },
2300
+ {
2301
+ name: 'doubleValue',
2302
+ returnType: 'double',
2303
+ },
2304
+ {
2305
+ name: 'valueOf',
2306
+ returnType: 'Long',
2307
+ params: [
2308
+ {
2309
+ name: 'arg0',
2310
+ type: 'long',
2311
+ },
2312
+ ],
2313
+ },
2314
+ {
2315
+ name: 'valueOf',
2316
+ returnType: 'Long',
2317
+ params: [
2318
+ {
2319
+ name: 'arg0',
2320
+ type: 'String',
2321
+ },
2322
+ {
2323
+ name: 'arg1',
2324
+ type: 'int',
2325
+ },
2326
+ ],
2327
+ },
2328
+ {
2329
+ name: 'valueOf',
2330
+ returnType: 'Long',
2331
+ params: [
2332
+ {
2333
+ name: 'arg0',
2334
+ type: 'String',
2335
+ },
2336
+ ],
2337
+ },
2338
+ {
2339
+ name: 'toHexString',
2340
+ returnType: 'String',
2341
+ params: [
2342
+ {
2343
+ name: 'arg0',
2344
+ type: 'long',
2345
+ },
2346
+ ],
2347
+ },
2348
+ {
2349
+ name: 'decode',
2350
+ returnType: 'Long',
2351
+ params: [
2352
+ {
2353
+ name: 'arg0',
2354
+ type: 'String',
2355
+ },
2356
+ ],
2357
+ },
2358
+ {
2359
+ name: 'compare',
2360
+ returnType: 'int',
2361
+ params: [
2362
+ {
2363
+ name: 'arg0',
2364
+ type: 'long',
2365
+ },
2366
+ {
2367
+ name: 'arg1',
2368
+ type: 'long',
2369
+ },
2370
+ ],
2371
+ },
2372
+ {
2373
+ name: 'reverse',
2374
+ returnType: 'long',
2375
+ params: [
2376
+ {
2377
+ name: 'arg0',
2378
+ type: 'long',
2379
+ },
2380
+ ],
2381
+ },
2382
+ {
2383
+ name: 'sum',
2384
+ returnType: 'long',
2385
+ params: [
2386
+ {
2387
+ name: 'arg0',
2388
+ type: 'long',
2389
+ },
2390
+ {
2391
+ name: 'arg1',
2392
+ type: 'long',
2393
+ },
2394
+ ],
2395
+ },
2396
+ {
2397
+ name: 'compareUnsigned',
2398
+ returnType: 'int',
2399
+ params: [
2400
+ {
2401
+ name: 'arg0',
2402
+ type: 'long',
2403
+ },
2404
+ {
2405
+ name: 'arg1',
2406
+ type: 'long',
2407
+ },
2408
+ ],
2409
+ },
2410
+ {
2411
+ name: 'toUnsignedString',
2412
+ returnType: 'String',
2413
+ params: [
2414
+ {
2415
+ name: 'arg0',
2416
+ type: 'long',
2417
+ },
2418
+ {
2419
+ name: 'arg1',
2420
+ type: 'int',
2421
+ },
2422
+ ],
2423
+ },
2424
+ {
2425
+ name: 'toUnsignedString',
2426
+ returnType: 'String',
2427
+ params: [
2428
+ {
2429
+ name: 'arg0',
2430
+ type: 'long',
2431
+ },
2432
+ ],
2433
+ },
2434
+ {
2435
+ name: 'toOctalString',
2436
+ returnType: 'String',
2437
+ params: [
2438
+ {
2439
+ name: 'arg0',
2440
+ type: 'long',
2441
+ },
2442
+ ],
2443
+ },
2444
+ {
2445
+ name: 'toBinaryString',
2446
+ returnType: 'String',
2447
+ params: [
2448
+ {
2449
+ name: 'arg0',
2450
+ type: 'long',
2451
+ },
2452
+ ],
2453
+ },
2454
+ {
2455
+ name: 'parseLong',
2456
+ returnType: 'long',
2457
+ params: [
2458
+ {
2459
+ name: 'arg0',
2460
+ type: 'String',
2461
+ },
2462
+ {
2463
+ name: 'arg1',
2464
+ type: 'int',
2465
+ },
2466
+ ],
2467
+ },
2468
+ {
2469
+ name: 'parseLong',
2470
+ returnType: 'long',
2471
+ params: [
2472
+ {
2473
+ name: 'arg0',
2474
+ type: 'CharSequence',
2475
+ },
2476
+ {
2477
+ name: 'arg1',
2478
+ type: 'int',
2479
+ },
2480
+ {
2481
+ name: 'arg2',
2482
+ type: 'int',
2483
+ },
2484
+ {
2485
+ name: 'arg3',
2486
+ type: 'int',
2487
+ },
2488
+ ],
2489
+ },
2490
+ {
2491
+ name: 'parseLong',
2492
+ returnType: 'long',
2493
+ params: [
2494
+ {
2495
+ name: 'arg0',
2496
+ type: 'String',
2497
+ },
2498
+ ],
2499
+ },
2500
+ {
2501
+ name: 'divideUnsigned',
2502
+ returnType: 'long',
2503
+ params: [
2504
+ {
2505
+ name: 'arg0',
2506
+ type: 'long',
2507
+ },
2508
+ {
2509
+ name: 'arg1',
2510
+ type: 'long',
2511
+ },
2512
+ ],
2513
+ },
2514
+ {
2515
+ name: 'remainderUnsigned',
2516
+ returnType: 'long',
2517
+ params: [
2518
+ {
2519
+ name: 'arg0',
2520
+ type: 'long',
2521
+ },
2522
+ {
2523
+ name: 'arg1',
2524
+ type: 'long',
2525
+ },
2526
+ ],
2527
+ },
2528
+ {
2529
+ name: 'highestOneBit',
2530
+ returnType: 'long',
2531
+ params: [
2532
+ {
2533
+ name: 'arg0',
2534
+ type: 'long',
2535
+ },
2536
+ ],
2537
+ },
2538
+ {
2539
+ name: 'lowestOneBit',
2540
+ returnType: 'long',
2541
+ params: [
2542
+ {
2543
+ name: 'arg0',
2544
+ type: 'long',
2545
+ },
2546
+ ],
2547
+ },
2548
+ {
2549
+ name: 'rotateLeft',
2550
+ returnType: 'long',
2551
+ params: [
2552
+ {
2553
+ name: 'arg0',
2554
+ type: 'long',
2555
+ },
2556
+ {
2557
+ name: 'arg1',
2558
+ type: 'int',
2559
+ },
2560
+ ],
2561
+ },
2562
+ {
2563
+ name: 'rotateRight',
2564
+ returnType: 'long',
2565
+ params: [
2566
+ {
2567
+ name: 'arg0',
2568
+ type: 'long',
2569
+ },
2570
+ {
2571
+ name: 'arg1',
2572
+ type: 'int',
2573
+ },
2574
+ ],
2575
+ },
2576
+ {
2577
+ name: 'parseUnsignedLong',
2578
+ returnType: 'long',
2579
+ params: [
2580
+ {
2581
+ name: 'arg0',
2582
+ type: 'String',
2583
+ },
2584
+ ],
2585
+ },
2586
+ {
2587
+ name: 'parseUnsignedLong',
2588
+ returnType: 'long',
2589
+ params: [
2590
+ {
2591
+ name: 'arg0',
2592
+ type: 'CharSequence',
2593
+ },
2594
+ {
2595
+ name: 'arg1',
2596
+ type: 'int',
2597
+ },
2598
+ {
2599
+ name: 'arg2',
2600
+ type: 'int',
2601
+ },
2602
+ {
2603
+ name: 'arg3',
2604
+ type: 'int',
2605
+ },
2606
+ ],
2607
+ },
2608
+ {
2609
+ name: 'parseUnsignedLong',
2610
+ returnType: 'long',
2611
+ params: [
2612
+ {
2613
+ name: 'arg0',
2614
+ type: 'String',
2615
+ },
2616
+ {
2617
+ name: 'arg1',
2618
+ type: 'int',
2619
+ },
2620
+ ],
2621
+ },
2622
+ {
2623
+ name: 'equals',
2624
+ returnType: 'boolean',
2625
+ params: [
2626
+ {
2627
+ name: 'arg0',
2628
+ type: 'Object',
2629
+ },
2630
+ ],
2631
+ },
2632
+ {
2633
+ name: 'hashCode',
2634
+ returnType: 'int',
2635
+ },
2636
+ {
2637
+ name: 'toString',
2638
+ returnType: 'String',
2639
+ },
2640
+ ],
2641
+ },
2642
+ Math: {
2643
+ methods: [
2644
+ {
2645
+ name: 'abs',
2646
+ returnType: 'long',
2647
+ params: [
2648
+ {
2649
+ name: 'arg0',
2650
+ type: 'long',
2651
+ },
2652
+ ],
2653
+ },
2654
+ {
2655
+ name: 'abs',
2656
+ returnType: 'double',
2657
+ params: [
2658
+ {
2659
+ name: 'arg0',
2660
+ type: 'double',
2661
+ },
2662
+ ],
2663
+ },
2664
+ {
2665
+ name: 'abs',
2666
+ returnType: 'int',
2667
+ params: [
2668
+ {
2669
+ name: 'arg0',
2670
+ type: 'int',
2671
+ },
2672
+ ],
2673
+ },
2674
+ {
2675
+ name: 'abs',
2676
+ returnType: 'float',
2677
+ params: [
2678
+ {
2679
+ name: 'arg0',
2680
+ type: 'float',
2681
+ },
2682
+ ],
2683
+ },
2684
+ {
2685
+ name: 'sin',
2686
+ returnType: 'double',
2687
+ params: [
2688
+ {
2689
+ name: 'arg0',
2690
+ type: 'double',
2691
+ },
2692
+ ],
2693
+ },
2694
+ {
2695
+ name: 'cos',
2696
+ returnType: 'double',
2697
+ params: [
2698
+ {
2699
+ name: 'arg0',
2700
+ type: 'double',
2701
+ },
2702
+ ],
2703
+ },
2704
+ {
2705
+ name: 'tan',
2706
+ returnType: 'double',
2707
+ params: [
2708
+ {
2709
+ name: 'arg0',
2710
+ type: 'double',
2711
+ },
2712
+ ],
2713
+ },
2714
+ {
2715
+ name: 'atan2',
2716
+ returnType: 'double',
2717
+ params: [
2718
+ {
2719
+ name: 'arg0',
2720
+ type: 'double',
2721
+ },
2722
+ {
2723
+ name: 'arg1',
2724
+ type: 'double',
2725
+ },
2726
+ ],
2727
+ },
2728
+ {
2729
+ name: 'sqrt',
2730
+ returnType: 'double',
2731
+ params: [
2732
+ {
2733
+ name: 'arg0',
2734
+ type: 'double',
2735
+ },
2736
+ ],
2737
+ },
2738
+ {
2739
+ name: 'log',
2740
+ returnType: 'double',
2741
+ params: [
2742
+ {
2743
+ name: 'arg0',
2744
+ type: 'double',
2745
+ },
2746
+ ],
2747
+ },
2748
+ {
2749
+ name: 'log10',
2750
+ returnType: 'double',
2751
+ params: [
2752
+ {
2753
+ name: 'arg0',
2754
+ type: 'double',
2755
+ },
2756
+ ],
2757
+ },
2758
+ {
2759
+ name: 'pow',
2760
+ returnType: 'double',
2761
+ params: [
2762
+ {
2763
+ name: 'arg0',
2764
+ type: 'double',
2765
+ },
2766
+ {
2767
+ name: 'arg1',
2768
+ type: 'double',
2769
+ },
2770
+ ],
2771
+ },
2772
+ {
2773
+ name: 'exp',
2774
+ returnType: 'double',
2775
+ params: [
2776
+ {
2777
+ name: 'arg0',
2778
+ type: 'double',
2779
+ },
2780
+ ],
2781
+ },
2782
+ {
2783
+ name: 'min',
2784
+ returnType: 'long',
2785
+ params: [
2786
+ {
2787
+ name: 'arg0',
2788
+ type: 'long',
2789
+ },
2790
+ {
2791
+ name: 'arg1',
2792
+ type: 'long',
2793
+ },
2794
+ ],
2795
+ },
2796
+ {
2797
+ name: 'min',
2798
+ returnType: 'float',
2799
+ params: [
2800
+ {
2801
+ name: 'arg0',
2802
+ type: 'float',
2803
+ },
2804
+ {
2805
+ name: 'arg1',
2806
+ type: 'float',
2807
+ },
2808
+ ],
2809
+ },
2810
+ {
2811
+ name: 'min',
2812
+ returnType: 'double',
2813
+ params: [
2814
+ {
2815
+ name: 'arg0',
2816
+ type: 'double',
2817
+ },
2818
+ {
2819
+ name: 'arg1',
2820
+ type: 'double',
2821
+ },
2822
+ ],
2823
+ },
2824
+ {
2825
+ name: 'min',
2826
+ returnType: 'int',
2827
+ params: [
2828
+ {
2829
+ name: 'arg0',
2830
+ type: 'int',
2831
+ },
2832
+ {
2833
+ name: 'arg1',
2834
+ type: 'int',
2835
+ },
2836
+ ],
2837
+ },
2838
+ {
2839
+ name: 'max',
2840
+ returnType: 'long',
2841
+ params: [
2842
+ {
2843
+ name: 'arg0',
2844
+ type: 'long',
2845
+ },
2846
+ {
2847
+ name: 'arg1',
2848
+ type: 'long',
2849
+ },
2850
+ ],
2851
+ },
2852
+ {
2853
+ name: 'max',
2854
+ returnType: 'float',
2855
+ params: [
2856
+ {
2857
+ name: 'arg0',
2858
+ type: 'float',
2859
+ },
2860
+ {
2861
+ name: 'arg1',
2862
+ type: 'float',
2863
+ },
2864
+ ],
2865
+ },
2866
+ {
2867
+ name: 'max',
2868
+ returnType: 'double',
2869
+ params: [
2870
+ {
2871
+ name: 'arg0',
2872
+ type: 'double',
2873
+ },
2874
+ {
2875
+ name: 'arg1',
2876
+ type: 'double',
2877
+ },
2878
+ ],
2879
+ },
2880
+ {
2881
+ name: 'max',
2882
+ returnType: 'int',
2883
+ params: [
2884
+ {
2885
+ name: 'arg0',
2886
+ type: 'int',
2887
+ },
2888
+ {
2889
+ name: 'arg1',
2890
+ type: 'int',
2891
+ },
2892
+ ],
2893
+ },
2894
+ {
2895
+ name: 'floor',
2896
+ returnType: 'double',
2897
+ params: [
2898
+ {
2899
+ name: 'arg0',
2900
+ type: 'double',
2901
+ },
2902
+ ],
2903
+ },
2904
+ {
2905
+ name: 'ceil',
2906
+ returnType: 'double',
2907
+ params: [
2908
+ {
2909
+ name: 'arg0',
2910
+ type: 'double',
2911
+ },
2912
+ ],
2913
+ },
2914
+ {
2915
+ name: 'rint',
2916
+ returnType: 'double',
2917
+ params: [
2918
+ {
2919
+ name: 'arg0',
2920
+ type: 'double',
2921
+ },
2922
+ ],
2923
+ },
2924
+ {
2925
+ name: 'addExact',
2926
+ returnType: 'int',
2927
+ params: [
2928
+ {
2929
+ name: 'arg0',
2930
+ type: 'int',
2931
+ },
2932
+ {
2933
+ name: 'arg1',
2934
+ type: 'int',
2935
+ },
2936
+ ],
2937
+ },
2938
+ {
2939
+ name: 'addExact',
2940
+ returnType: 'long',
2941
+ params: [
2942
+ {
2943
+ name: 'arg0',
2944
+ type: 'long',
2945
+ },
2946
+ {
2947
+ name: 'arg1',
2948
+ type: 'long',
2949
+ },
2950
+ ],
2951
+ },
2952
+ {
2953
+ name: 'decrementExact',
2954
+ returnType: 'int',
2955
+ params: [
2956
+ {
2957
+ name: 'arg0',
2958
+ type: 'int',
2959
+ },
2960
+ ],
2961
+ },
2962
+ {
2963
+ name: 'decrementExact',
2964
+ returnType: 'long',
2965
+ params: [
2966
+ {
2967
+ name: 'arg0',
2968
+ type: 'long',
2969
+ },
2970
+ ],
2971
+ },
2972
+ {
2973
+ name: 'incrementExact',
2974
+ returnType: 'long',
2975
+ params: [
2976
+ {
2977
+ name: 'arg0',
2978
+ type: 'long',
2979
+ },
2980
+ ],
2981
+ },
2982
+ {
2983
+ name: 'incrementExact',
2984
+ returnType: 'int',
2985
+ params: [
2986
+ {
2987
+ name: 'arg0',
2988
+ type: 'int',
2989
+ },
2990
+ ],
2991
+ },
2992
+ {
2993
+ name: 'multiplyExact',
2994
+ returnType: 'int',
2995
+ params: [
2996
+ {
2997
+ name: 'arg0',
2998
+ type: 'int',
2999
+ },
3000
+ {
3001
+ name: 'arg1',
3002
+ type: 'int',
3003
+ },
3004
+ ],
3005
+ },
3006
+ {
3007
+ name: 'multiplyExact',
3008
+ returnType: 'long',
3009
+ params: [
3010
+ {
3011
+ name: 'arg0',
3012
+ type: 'long',
3013
+ },
3014
+ {
3015
+ name: 'arg1',
3016
+ type: 'int',
3017
+ },
3018
+ ],
3019
+ },
3020
+ {
3021
+ name: 'multiplyExact',
3022
+ returnType: 'long',
3023
+ params: [
3024
+ {
3025
+ name: 'arg0',
3026
+ type: 'long',
3027
+ },
3028
+ {
3029
+ name: 'arg1',
3030
+ type: 'long',
3031
+ },
3032
+ ],
3033
+ },
3034
+ {
3035
+ name: 'multiplyHigh',
3036
+ returnType: 'long',
3037
+ params: [
3038
+ {
3039
+ name: 'arg0',
3040
+ type: 'long',
3041
+ },
3042
+ {
3043
+ name: 'arg1',
3044
+ type: 'long',
3045
+ },
3046
+ ],
3047
+ },
3048
+ {
3049
+ name: 'negateExact',
3050
+ returnType: 'long',
3051
+ params: [
3052
+ {
3053
+ name: 'arg0',
3054
+ type: 'long',
3055
+ },
3056
+ ],
3057
+ },
3058
+ {
3059
+ name: 'negateExact',
3060
+ returnType: 'int',
3061
+ params: [
3062
+ {
3063
+ name: 'arg0',
3064
+ type: 'int',
3065
+ },
3066
+ ],
3067
+ },
3068
+ {
3069
+ name: 'subtractExact',
3070
+ returnType: 'long',
3071
+ params: [
3072
+ {
3073
+ name: 'arg0',
3074
+ type: 'long',
3075
+ },
3076
+ {
3077
+ name: 'arg1',
3078
+ type: 'long',
3079
+ },
3080
+ ],
3081
+ },
3082
+ {
3083
+ name: 'subtractExact',
3084
+ returnType: 'int',
3085
+ params: [
3086
+ {
3087
+ name: 'arg0',
3088
+ type: 'int',
3089
+ },
3090
+ {
3091
+ name: 'arg1',
3092
+ type: 'int',
3093
+ },
3094
+ ],
3095
+ },
3096
+ {
3097
+ name: 'fma',
3098
+ returnType: 'float',
3099
+ params: [
3100
+ {
3101
+ name: 'arg0',
3102
+ type: 'float',
3103
+ },
3104
+ {
3105
+ name: 'arg1',
3106
+ type: 'float',
3107
+ },
3108
+ {
3109
+ name: 'arg2',
3110
+ type: 'float',
3111
+ },
3112
+ ],
3113
+ },
3114
+ {
3115
+ name: 'fma',
3116
+ returnType: 'double',
3117
+ params: [
3118
+ {
3119
+ name: 'arg0',
3120
+ type: 'double',
3121
+ },
3122
+ {
3123
+ name: 'arg1',
3124
+ type: 'double',
3125
+ },
3126
+ {
3127
+ name: 'arg2',
3128
+ type: 'double',
3129
+ },
3130
+ ],
3131
+ },
3132
+ {
3133
+ name: 'copySign',
3134
+ returnType: 'float',
3135
+ params: [
3136
+ {
3137
+ name: 'arg0',
3138
+ type: 'float',
3139
+ },
3140
+ {
3141
+ name: 'arg1',
3142
+ type: 'float',
3143
+ },
3144
+ ],
3145
+ },
3146
+ {
3147
+ name: 'copySign',
3148
+ returnType: 'double',
3149
+ params: [
3150
+ {
3151
+ name: 'arg0',
3152
+ type: 'double',
3153
+ },
3154
+ {
3155
+ name: 'arg1',
3156
+ type: 'double',
3157
+ },
3158
+ ],
3159
+ },
3160
+ {
3161
+ name: 'signum',
3162
+ returnType: 'double',
3163
+ params: [
3164
+ {
3165
+ name: 'arg0',
3166
+ type: 'double',
3167
+ },
3168
+ ],
3169
+ },
3170
+ {
3171
+ name: 'signum',
3172
+ returnType: 'float',
3173
+ params: [
3174
+ {
3175
+ name: 'arg0',
3176
+ type: 'float',
3177
+ },
3178
+ ],
3179
+ },
3180
+ {
3181
+ name: 'scalb',
3182
+ returnType: 'double',
3183
+ params: [
3184
+ {
3185
+ name: 'arg0',
3186
+ type: 'double',
3187
+ },
3188
+ {
3189
+ name: 'arg1',
3190
+ type: 'int',
3191
+ },
3192
+ ],
3193
+ },
3194
+ {
3195
+ name: 'scalb',
3196
+ returnType: 'float',
3197
+ params: [
3198
+ {
3199
+ name: 'arg0',
3200
+ type: 'float',
3201
+ },
3202
+ {
3203
+ name: 'arg1',
3204
+ type: 'int',
3205
+ },
3206
+ ],
3207
+ },
3208
+ {
3209
+ name: 'getExponent',
3210
+ returnType: 'int',
3211
+ params: [
3212
+ {
3213
+ name: 'arg0',
3214
+ type: 'float',
3215
+ },
3216
+ ],
3217
+ },
3218
+ {
3219
+ name: 'getExponent',
3220
+ returnType: 'int',
3221
+ params: [
3222
+ {
3223
+ name: 'arg0',
3224
+ type: 'double',
3225
+ },
3226
+ ],
3227
+ },
3228
+ {
3229
+ name: 'floorMod',
3230
+ returnType: 'int',
3231
+ params: [
3232
+ {
3233
+ name: 'arg0',
3234
+ type: 'int',
3235
+ },
3236
+ {
3237
+ name: 'arg1',
3238
+ type: 'int',
3239
+ },
3240
+ ],
3241
+ },
3242
+ {
3243
+ name: 'floorMod',
3244
+ returnType: 'long',
3245
+ params: [
3246
+ {
3247
+ name: 'arg0',
3248
+ type: 'long',
3249
+ },
3250
+ {
3251
+ name: 'arg1',
3252
+ type: 'long',
3253
+ },
3254
+ ],
3255
+ },
3256
+ {
3257
+ name: 'floorMod',
3258
+ returnType: 'int',
3259
+ params: [
3260
+ {
3261
+ name: 'arg0',
3262
+ type: 'long',
3263
+ },
3264
+ {
3265
+ name: 'arg1',
3266
+ type: 'int',
3267
+ },
3268
+ ],
3269
+ },
3270
+ {
3271
+ name: 'asin',
3272
+ returnType: 'double',
3273
+ params: [
3274
+ {
3275
+ name: 'arg0',
3276
+ type: 'double',
3277
+ },
3278
+ ],
3279
+ },
3280
+ {
3281
+ name: 'acos',
3282
+ returnType: 'double',
3283
+ params: [
3284
+ {
3285
+ name: 'arg0',
3286
+ type: 'double',
3287
+ },
3288
+ ],
3289
+ },
3290
+ {
3291
+ name: 'atan',
3292
+ returnType: 'double',
3293
+ params: [
3294
+ {
3295
+ name: 'arg0',
3296
+ type: 'double',
3297
+ },
3298
+ ],
3299
+ },
3300
+ {
3301
+ name: 'toRadians',
3302
+ returnType: 'double',
3303
+ params: [
3304
+ {
3305
+ name: 'arg0',
3306
+ type: 'double',
3307
+ },
3308
+ ],
3309
+ },
3310
+ {
3311
+ name: 'toDegrees',
3312
+ returnType: 'double',
3313
+ params: [
3314
+ {
3315
+ name: 'arg0',
3316
+ type: 'double',
3317
+ },
3318
+ ],
3319
+ },
3320
+ {
3321
+ name: 'cbrt',
3322
+ returnType: 'double',
3323
+ params: [
3324
+ {
3325
+ name: 'arg0',
3326
+ type: 'double',
3327
+ },
3328
+ ],
3329
+ },
3330
+ {
3331
+ name: 'IEEEremainder',
3332
+ returnType: 'double',
3333
+ params: [
3334
+ {
3335
+ name: 'arg0',
3336
+ type: 'double',
3337
+ },
3338
+ {
3339
+ name: 'arg1',
3340
+ type: 'double',
3341
+ },
3342
+ ],
3343
+ },
3344
+ {
3345
+ name: 'round',
3346
+ returnType: 'int',
3347
+ params: [
3348
+ {
3349
+ name: 'arg0',
3350
+ type: 'float',
3351
+ },
3352
+ ],
3353
+ },
3354
+ {
3355
+ name: 'round',
3356
+ returnType: 'long',
3357
+ params: [
3358
+ {
3359
+ name: 'arg0',
3360
+ type: 'double',
3361
+ },
3362
+ ],
3363
+ },
3364
+ {
3365
+ name: 'random',
3366
+ returnType: 'double',
3367
+ },
3368
+ {
3369
+ name: 'toIntExact',
3370
+ returnType: 'int',
3371
+ params: [
3372
+ {
3373
+ name: 'arg0',
3374
+ type: 'long',
3375
+ },
3376
+ ],
3377
+ },
3378
+ {
3379
+ name: 'multiplyFull',
3380
+ returnType: 'long',
3381
+ params: [
3382
+ {
3383
+ name: 'arg0',
3384
+ type: 'int',
3385
+ },
3386
+ {
3387
+ name: 'arg1',
3388
+ type: 'int',
3389
+ },
3390
+ ],
3391
+ },
3392
+ {
3393
+ name: 'floorDiv',
3394
+ returnType: 'long',
3395
+ params: [
3396
+ {
3397
+ name: 'arg0',
3398
+ type: 'long',
3399
+ },
3400
+ {
3401
+ name: 'arg1',
3402
+ type: 'int',
3403
+ },
3404
+ ],
3405
+ },
3406
+ {
3407
+ name: 'floorDiv',
3408
+ returnType: 'long',
3409
+ params: [
3410
+ {
3411
+ name: 'arg0',
3412
+ type: 'long',
3413
+ },
3414
+ {
3415
+ name: 'arg1',
3416
+ type: 'long',
3417
+ },
3418
+ ],
3419
+ },
3420
+ {
3421
+ name: 'floorDiv',
3422
+ returnType: 'int',
3423
+ params: [
3424
+ {
3425
+ name: 'arg0',
3426
+ type: 'int',
3427
+ },
3428
+ {
3429
+ name: 'arg1',
3430
+ type: 'int',
3431
+ },
3432
+ ],
3433
+ },
3434
+ {
3435
+ name: 'ulp',
3436
+ returnType: 'float',
3437
+ params: [
3438
+ {
3439
+ name: 'arg0',
3440
+ type: 'float',
3441
+ },
3442
+ ],
3443
+ },
3444
+ {
3445
+ name: 'ulp',
3446
+ returnType: 'double',
3447
+ params: [
3448
+ {
3449
+ name: 'arg0',
3450
+ type: 'double',
3451
+ },
3452
+ ],
3453
+ },
3454
+ {
3455
+ name: 'sinh',
3456
+ returnType: 'double',
3457
+ params: [
3458
+ {
3459
+ name: 'arg0',
3460
+ type: 'double',
3461
+ },
3462
+ ],
3463
+ },
3464
+ {
3465
+ name: 'cosh',
3466
+ returnType: 'double',
3467
+ params: [
3468
+ {
3469
+ name: 'arg0',
3470
+ type: 'double',
3471
+ },
3472
+ ],
3473
+ },
3474
+ {
3475
+ name: 'tanh',
3476
+ returnType: 'double',
3477
+ params: [
3478
+ {
3479
+ name: 'arg0',
3480
+ type: 'double',
3481
+ },
3482
+ ],
3483
+ },
3484
+ {
3485
+ name: 'hypot',
3486
+ returnType: 'double',
3487
+ params: [
3488
+ {
3489
+ name: 'arg0',
3490
+ type: 'double',
3491
+ },
3492
+ {
3493
+ name: 'arg1',
3494
+ type: 'double',
3495
+ },
3496
+ ],
3497
+ },
3498
+ {
3499
+ name: 'expm1',
3500
+ returnType: 'double',
3501
+ params: [
3502
+ {
3503
+ name: 'arg0',
3504
+ type: 'double',
3505
+ },
3506
+ ],
3507
+ },
3508
+ {
3509
+ name: 'log1p',
3510
+ returnType: 'double',
3511
+ params: [
3512
+ {
3513
+ name: 'arg0',
3514
+ type: 'double',
3515
+ },
3516
+ ],
3517
+ },
3518
+ {
3519
+ name: 'nextAfter',
3520
+ returnType: 'double',
3521
+ params: [
3522
+ {
3523
+ name: 'arg0',
3524
+ type: 'double',
3525
+ },
3526
+ {
3527
+ name: 'arg1',
3528
+ type: 'double',
3529
+ },
3530
+ ],
3531
+ },
3532
+ {
3533
+ name: 'nextAfter',
3534
+ returnType: 'float',
3535
+ params: [
3536
+ {
3537
+ name: 'arg0',
3538
+ type: 'float',
3539
+ },
3540
+ {
3541
+ name: 'arg1',
3542
+ type: 'double',
3543
+ },
3544
+ ],
3545
+ },
3546
+ {
3547
+ name: 'nextUp',
3548
+ returnType: 'double',
3549
+ params: [
3550
+ {
3551
+ name: 'arg0',
3552
+ type: 'double',
3553
+ },
3554
+ ],
3555
+ },
3556
+ {
3557
+ name: 'nextUp',
3558
+ returnType: 'float',
3559
+ params: [
3560
+ {
3561
+ name: 'arg0',
3562
+ type: 'float',
3563
+ },
3564
+ ],
3565
+ },
3566
+ {
3567
+ name: 'nextDown',
3568
+ returnType: 'float',
3569
+ params: [
3570
+ {
3571
+ name: 'arg0',
3572
+ type: 'float',
3573
+ },
3574
+ ],
3575
+ },
3576
+ {
3577
+ name: 'nextDown',
3578
+ returnType: 'double',
3579
+ params: [
3580
+ {
3581
+ name: 'arg0',
3582
+ type: 'double',
3583
+ },
3584
+ ],
3585
+ },
3586
+ {
3587
+ name: 'equals',
3588
+ returnType: 'boolean',
3589
+ params: [
3590
+ {
3591
+ name: 'arg0',
3592
+ type: 'Object',
3593
+ },
3594
+ ],
3595
+ },
3596
+ {
3597
+ name: 'hashCode',
3598
+ returnType: 'int',
3599
+ },
3600
+ {
3601
+ name: 'toString',
3602
+ returnType: 'String',
3603
+ },
3604
+ ],
3605
+ },
3606
+ Object: {
3607
+ methods: [
3608
+ {
3609
+ name: 'equals',
3610
+ returnType: 'boolean',
3611
+ params: [
3612
+ {
3613
+ name: 'arg0',
3614
+ type: 'Object',
3615
+ },
3616
+ ],
3617
+ },
3618
+ {
3619
+ name: 'hashCode',
3620
+ returnType: 'int',
3621
+ },
3622
+ {
3623
+ name: 'toString',
3624
+ returnType: 'String',
3625
+ },
3626
+ ],
3627
+ },
3628
+ List: {
3629
+ methods: [
3630
+ {
3631
+ name: 'get',
3632
+ returnType: 'Object',
3633
+ params: [
3634
+ {
3635
+ name: 'arg0',
3636
+ type: 'int',
3637
+ },
3638
+ ],
3639
+ },
3640
+ {
3641
+ name: 'contains',
3642
+ returnType: 'boolean',
3643
+ params: [
3644
+ {
3645
+ name: 'arg0',
3646
+ type: 'Object',
3647
+ },
3648
+ ],
3649
+ },
3650
+ {
3651
+ name: 'isEmpty',
3652
+ returnType: 'boolean',
3653
+ },
3654
+ {
3655
+ name: 'size',
3656
+ returnType: 'int',
3657
+ },
3658
+ ],
3659
+ },
3660
+ Collection: {
3661
+ methods: [
3662
+ {
3663
+ name: 'contains',
3664
+ returnType: 'boolean',
3665
+ params: [
3666
+ {
3667
+ name: 'arg0',
3668
+ type: 'Object',
3669
+ },
3670
+ ],
3671
+ },
3672
+ {
3673
+ name: 'isEmpty',
3674
+ returnType: 'boolean',
3675
+ },
3676
+ {
3677
+ name: 'size',
3678
+ returnType: 'int',
3679
+ },
3680
+ ],
3681
+ },
3682
+ Set: {
3683
+ methods: [
3684
+ {
3685
+ name: 'contains',
3686
+ returnType: 'boolean',
3687
+ params: [
3688
+ {
3689
+ name: 'arg0',
3690
+ type: 'Object',
3691
+ },
3692
+ ],
3693
+ },
3694
+ {
3695
+ name: 'isEmpty',
3696
+ returnType: 'boolean',
3697
+ },
3698
+ {
3699
+ name: 'size',
3700
+ returnType: 'int',
3701
+ },
3702
+ ],
3703
+ },
3704
+ String: {
3705
+ methods: [
3706
+ {
3707
+ name: 'equals',
3708
+ returnType: 'boolean',
3709
+ params: [
3710
+ {
3711
+ name: 'arg0',
3712
+ type: 'Object',
3713
+ },
3714
+ ],
3715
+ },
3716
+ {
3717
+ name: 'length',
3718
+ returnType: 'int',
3719
+ },
3720
+ {
3721
+ name: 'toString',
3722
+ returnType: 'String',
3723
+ },
3724
+ {
3725
+ name: 'hashCode',
3726
+ returnType: 'int',
3727
+ },
3728
+ {
3729
+ name: 'getChars',
3730
+ returnType: 'void',
3731
+ params: [
3732
+ {
3733
+ name: 'arg0',
3734
+ type: 'int',
3735
+ },
3736
+ {
3737
+ name: 'arg1',
3738
+ type: 'int',
3739
+ },
3740
+ {
3741
+ name: 'arg2',
3742
+ type: 'char[]',
3743
+ },
3744
+ {
3745
+ name: 'arg3',
3746
+ type: 'int',
3747
+ },
3748
+ ],
3749
+ },
3750
+ {
3751
+ name: 'compareTo',
3752
+ returnType: 'int',
3753
+ params: [
3754
+ {
3755
+ name: 'arg0',
3756
+ type: 'String',
3757
+ },
3758
+ ],
3759
+ },
3760
+ {
3761
+ name: 'compareTo',
3762
+ returnType: 'int',
3763
+ params: [
3764
+ {
3765
+ name: 'arg0',
3766
+ type: 'Object',
3767
+ },
3768
+ ],
3769
+ },
3770
+ {
3771
+ name: 'indexOf',
3772
+ returnType: 'int',
3773
+ params: [
3774
+ {
3775
+ name: 'arg0',
3776
+ type: 'String',
3777
+ },
3778
+ {
3779
+ name: 'arg1',
3780
+ type: 'int',
3781
+ },
3782
+ ],
3783
+ },
3784
+ {
3785
+ name: 'indexOf',
3786
+ returnType: 'int',
3787
+ params: [
3788
+ {
3789
+ name: 'arg0',
3790
+ type: 'int',
3791
+ },
3792
+ ],
3793
+ },
3794
+ {
3795
+ name: 'indexOf',
3796
+ returnType: 'int',
3797
+ params: [
3798
+ {
3799
+ name: 'arg0',
3800
+ type: 'int',
3801
+ },
3802
+ {
3803
+ name: 'arg1',
3804
+ type: 'int',
3805
+ },
3806
+ ],
3807
+ },
3808
+ {
3809
+ name: 'indexOf',
3810
+ returnType: 'int',
3811
+ params: [
3812
+ {
3813
+ name: 'arg0',
3814
+ type: 'String',
3815
+ },
3816
+ ],
3817
+ },
3818
+ {
3819
+ name: 'valueOf',
3820
+ returnType: 'String',
3821
+ params: [
3822
+ {
3823
+ name: 'arg0',
3824
+ type: 'long',
3825
+ },
3826
+ ],
3827
+ },
3828
+ {
3829
+ name: 'valueOf',
3830
+ returnType: 'String',
3831
+ params: [
3832
+ {
3833
+ name: 'arg0',
3834
+ type: 'int',
3835
+ },
3836
+ ],
3837
+ },
3838
+ {
3839
+ name: 'valueOf',
3840
+ returnType: 'String',
3841
+ params: [
3842
+ {
3843
+ name: 'arg0',
3844
+ type: 'char',
3845
+ },
3846
+ ],
3847
+ },
3848
+ {
3849
+ name: 'valueOf',
3850
+ returnType: 'String',
3851
+ params: [
3852
+ {
3853
+ name: 'arg0',
3854
+ type: 'double',
3855
+ },
3856
+ ],
3857
+ },
3858
+ {
3859
+ name: 'valueOf',
3860
+ returnType: 'String',
3861
+ params: [
3862
+ {
3863
+ name: 'arg0',
3864
+ type: 'float',
3865
+ },
3866
+ ],
3867
+ },
3868
+ {
3869
+ name: 'valueOf',
3870
+ returnType: 'String',
3871
+ params: [
3872
+ {
3873
+ name: 'arg0',
3874
+ type: 'Object',
3875
+ },
3876
+ ],
3877
+ },
3878
+ {
3879
+ name: 'valueOf',
3880
+ returnType: 'String',
3881
+ params: [
3882
+ {
3883
+ name: 'arg0',
3884
+ type: 'char[]',
3885
+ },
3886
+ ],
3887
+ },
3888
+ {
3889
+ name: 'valueOf',
3890
+ returnType: 'String',
3891
+ params: [
3892
+ {
3893
+ name: 'arg0',
3894
+ type: 'boolean',
3895
+ },
3896
+ ],
3897
+ },
3898
+ {
3899
+ name: 'valueOf',
3900
+ returnType: 'String',
3901
+ params: [
3902
+ {
3903
+ name: 'arg0',
3904
+ type: 'char[]',
3905
+ },
3906
+ {
3907
+ name: 'arg1',
3908
+ type: 'int',
3909
+ },
3910
+ {
3911
+ name: 'arg2',
3912
+ type: 'int',
3913
+ },
3914
+ ],
3915
+ },
3916
+ {
3917
+ name: 'isEmpty',
3918
+ returnType: 'boolean',
3919
+ },
3920
+ {
3921
+ name: 'charAt',
3922
+ returnType: 'char',
3923
+ params: [
3924
+ {
3925
+ name: 'arg0',
3926
+ type: 'int',
3927
+ },
3928
+ ],
3929
+ },
3930
+ {
3931
+ name: 'codePointAt',
3932
+ returnType: 'int',
3933
+ params: [
3934
+ {
3935
+ name: 'arg0',
3936
+ type: 'int',
3937
+ },
3938
+ ],
3939
+ },
3940
+ {
3941
+ name: 'codePointBefore',
3942
+ returnType: 'int',
3943
+ params: [
3944
+ {
3945
+ name: 'arg0',
3946
+ type: 'int',
3947
+ },
3948
+ ],
3949
+ },
3950
+ {
3951
+ name: 'codePointCount',
3952
+ returnType: 'int',
3953
+ params: [
3954
+ {
3955
+ name: 'arg0',
3956
+ type: 'int',
3957
+ },
3958
+ {
3959
+ name: 'arg1',
3960
+ type: 'int',
3961
+ },
3962
+ ],
3963
+ },
3964
+ {
3965
+ name: 'offsetByCodePoints',
3966
+ returnType: 'int',
3967
+ params: [
3968
+ {
3969
+ name: 'arg0',
3970
+ type: 'int',
3971
+ },
3972
+ {
3973
+ name: 'arg1',
3974
+ type: 'int',
3975
+ },
3976
+ ],
3977
+ },
3978
+ {
3979
+ name: 'getBytes',
3980
+ returnType: 'byte[]',
3981
+ params: [
3982
+ {
3983
+ name: 'arg0',
3984
+ type: 'Charset',
3985
+ },
3986
+ ],
3987
+ },
3988
+ {
3989
+ name: 'getBytes',
3990
+ returnType: 'void',
3991
+ params: [
3992
+ {
3993
+ name: 'arg0',
3994
+ type: 'int',
3995
+ },
3996
+ {
3997
+ name: 'arg1',
3998
+ type: 'int',
3999
+ },
4000
+ {
4001
+ name: 'arg2',
4002
+ type: 'byte[]',
4003
+ },
4004
+ {
4005
+ name: 'arg3',
4006
+ type: 'int',
4007
+ },
4008
+ ],
4009
+ },
4010
+ {
4011
+ name: 'getBytes',
4012
+ returnType: 'byte[]',
4013
+ params: [
4014
+ {
4015
+ name: 'arg0',
4016
+ type: 'String',
4017
+ },
4018
+ ],
4019
+ },
4020
+ {
4021
+ name: 'getBytes',
4022
+ returnType: 'byte[]',
4023
+ },
4024
+ {
4025
+ name: 'contentEquals',
4026
+ returnType: 'boolean',
4027
+ params: [
4028
+ {
4029
+ name: 'arg0',
4030
+ type: 'StringBuffer',
4031
+ },
4032
+ ],
4033
+ },
4034
+ {
4035
+ name: 'contentEquals',
4036
+ returnType: 'boolean',
4037
+ params: [
4038
+ {
4039
+ name: 'arg0',
4040
+ type: 'CharSequence',
4041
+ },
4042
+ ],
4043
+ },
4044
+ {
4045
+ name: 'equalsIgnoreCase',
4046
+ returnType: 'boolean',
4047
+ params: [
4048
+ {
4049
+ name: 'arg0',
4050
+ type: 'String',
4051
+ },
4052
+ ],
4053
+ },
4054
+ {
4055
+ name: 'regionMatches',
4056
+ returnType: 'boolean',
4057
+ params: [
4058
+ {
4059
+ name: 'arg0',
4060
+ type: 'boolean',
4061
+ },
4062
+ {
4063
+ name: 'arg1',
4064
+ type: 'int',
4065
+ },
4066
+ {
4067
+ name: 'arg2',
4068
+ type: 'String',
4069
+ },
4070
+ {
4071
+ name: 'arg3',
4072
+ type: 'int',
4073
+ },
4074
+ {
4075
+ name: 'arg4',
4076
+ type: 'int',
4077
+ },
4078
+ ],
4079
+ },
4080
+ {
4081
+ name: 'regionMatches',
4082
+ returnType: 'boolean',
4083
+ params: [
4084
+ {
4085
+ name: 'arg0',
4086
+ type: 'int',
4087
+ },
4088
+ {
4089
+ name: 'arg1',
4090
+ type: 'String',
4091
+ },
4092
+ {
4093
+ name: 'arg2',
4094
+ type: 'int',
4095
+ },
4096
+ {
4097
+ name: 'arg3',
4098
+ type: 'int',
4099
+ },
4100
+ ],
4101
+ },
4102
+ {
4103
+ name: 'compareToIgnoreCase',
4104
+ returnType: 'int',
4105
+ params: [
4106
+ {
4107
+ name: 'arg0',
4108
+ type: 'String',
4109
+ },
4110
+ ],
4111
+ },
4112
+ {
4113
+ name: 'startsWith',
4114
+ returnType: 'boolean',
4115
+ params: [
4116
+ {
4117
+ name: 'arg0',
4118
+ type: 'String',
4119
+ },
4120
+ {
4121
+ name: 'arg1',
4122
+ type: 'int',
4123
+ },
4124
+ ],
4125
+ },
4126
+ {
4127
+ name: 'startsWith',
4128
+ returnType: 'boolean',
4129
+ params: [
4130
+ {
4131
+ name: 'arg0',
4132
+ type: 'String',
4133
+ },
4134
+ ],
4135
+ },
4136
+ {
4137
+ name: 'endsWith',
4138
+ returnType: 'boolean',
4139
+ params: [
4140
+ {
4141
+ name: 'arg0',
4142
+ type: 'String',
4143
+ },
4144
+ ],
4145
+ },
4146
+ {
4147
+ name: 'lastIndexOf',
4148
+ returnType: 'int',
4149
+ params: [
4150
+ {
4151
+ name: 'arg0',
4152
+ type: 'String',
4153
+ },
4154
+ {
4155
+ name: 'arg1',
4156
+ type: 'int',
4157
+ },
4158
+ ],
4159
+ },
4160
+ {
4161
+ name: 'lastIndexOf',
4162
+ returnType: 'int',
4163
+ params: [
4164
+ {
4165
+ name: 'arg0',
4166
+ type: 'String',
4167
+ },
4168
+ ],
4169
+ },
4170
+ {
4171
+ name: 'lastIndexOf',
4172
+ returnType: 'int',
4173
+ params: [
4174
+ {
4175
+ name: 'arg0',
4176
+ type: 'int',
4177
+ },
4178
+ {
4179
+ name: 'arg1',
4180
+ type: 'int',
4181
+ },
4182
+ ],
4183
+ },
4184
+ {
4185
+ name: 'lastIndexOf',
4186
+ returnType: 'int',
4187
+ params: [
4188
+ {
4189
+ name: 'arg0',
4190
+ type: 'int',
4191
+ },
4192
+ ],
4193
+ },
4194
+ {
4195
+ name: 'substring',
4196
+ returnType: 'String',
4197
+ params: [
4198
+ {
4199
+ name: 'arg0',
4200
+ type: 'int',
4201
+ },
4202
+ ],
4203
+ },
4204
+ {
4205
+ name: 'substring',
4206
+ returnType: 'String',
4207
+ params: [
4208
+ {
4209
+ name: 'arg0',
4210
+ type: 'int',
4211
+ },
4212
+ {
4213
+ name: 'arg1',
4214
+ type: 'int',
4215
+ },
4216
+ ],
4217
+ },
4218
+ {
4219
+ name: 'subSequence',
4220
+ returnType: 'CharSequence',
4221
+ params: [
4222
+ {
4223
+ name: 'arg0',
4224
+ type: 'int',
4225
+ },
4226
+ {
4227
+ name: 'arg1',
4228
+ type: 'int',
4229
+ },
4230
+ ],
4231
+ },
4232
+ {
4233
+ name: 'concat',
4234
+ returnType: 'String',
4235
+ params: [
4236
+ {
4237
+ name: 'arg0',
4238
+ type: 'String',
4239
+ },
4240
+ ],
4241
+ },
4242
+ {
4243
+ name: 'replace',
4244
+ returnType: 'String',
4245
+ params: [
4246
+ {
4247
+ name: 'arg0',
4248
+ type: 'CharSequence',
4249
+ },
4250
+ {
4251
+ name: 'arg1',
4252
+ type: 'CharSequence',
4253
+ },
4254
+ ],
4255
+ },
4256
+ {
4257
+ name: 'replace',
4258
+ returnType: 'String',
4259
+ params: [
4260
+ {
4261
+ name: 'arg0',
4262
+ type: 'char',
4263
+ },
4264
+ {
4265
+ name: 'arg1',
4266
+ type: 'char',
4267
+ },
4268
+ ],
4269
+ },
4270
+ {
4271
+ name: 'matches',
4272
+ returnType: 'boolean',
4273
+ params: [
4274
+ {
4275
+ name: 'arg0',
4276
+ type: 'String',
4277
+ },
4278
+ ],
4279
+ },
4280
+ {
4281
+ name: 'contains',
4282
+ returnType: 'boolean',
4283
+ params: [
4284
+ {
4285
+ name: 'arg0',
4286
+ type: 'CharSequence',
4287
+ },
4288
+ ],
4289
+ },
4290
+ {
4291
+ name: 'replaceFirst',
4292
+ returnType: 'String',
4293
+ params: [
4294
+ {
4295
+ name: 'arg0',
4296
+ type: 'String',
4297
+ },
4298
+ {
4299
+ name: 'arg1',
4300
+ type: 'String',
4301
+ },
4302
+ ],
4303
+ },
4304
+ {
4305
+ name: 'replaceAll',
4306
+ returnType: 'String',
4307
+ params: [
4308
+ {
4309
+ name: 'arg0',
4310
+ type: 'String',
4311
+ },
4312
+ {
4313
+ name: 'arg1',
4314
+ type: 'String',
4315
+ },
4316
+ ],
4317
+ },
4318
+ {
4319
+ name: 'split',
4320
+ returnType: 'String[]',
4321
+ params: [
4322
+ {
4323
+ name: 'arg0',
4324
+ type: 'String',
4325
+ },
4326
+ ],
4327
+ },
4328
+ {
4329
+ name: 'split',
4330
+ returnType: 'String[]',
4331
+ params: [
4332
+ {
4333
+ name: 'arg0',
4334
+ type: 'String',
4335
+ },
4336
+ {
4337
+ name: 'arg1',
4338
+ type: 'int',
4339
+ },
4340
+ ],
4341
+ },
4342
+ {
4343
+ name: 'join',
4344
+ returnType: 'String',
4345
+ params: [
4346
+ {
4347
+ name: 'arg0',
4348
+ type: 'CharSequence',
4349
+ },
4350
+ {
4351
+ name: 'arg1',
4352
+ type: 'CharSequence[]',
4353
+ },
4354
+ ],
4355
+ },
4356
+ {
4357
+ name: 'join',
4358
+ returnType: 'String',
4359
+ params: [
4360
+ {
4361
+ name: 'arg0',
4362
+ type: 'CharSequence',
4363
+ },
4364
+ {
4365
+ name: 'arg1',
4366
+ type: 'Iterable',
4367
+ },
4368
+ ],
4369
+ },
4370
+ {
4371
+ name: 'toLowerCase',
4372
+ returnType: 'String',
4373
+ params: [
4374
+ {
4375
+ name: 'arg0',
4376
+ type: 'Locale',
4377
+ },
4378
+ ],
4379
+ },
4380
+ {
4381
+ name: 'toLowerCase',
4382
+ returnType: 'String',
4383
+ },
4384
+ {
4385
+ name: 'toUpperCase',
4386
+ returnType: 'String',
4387
+ params: [
4388
+ {
4389
+ name: 'arg0',
4390
+ type: 'Locale',
4391
+ },
4392
+ ],
4393
+ },
4394
+ {
4395
+ name: 'toUpperCase',
4396
+ returnType: 'String',
4397
+ },
4398
+ {
4399
+ name: 'trim',
4400
+ returnType: 'String',
4401
+ },
4402
+ {
4403
+ name: 'strip',
4404
+ returnType: 'String',
4405
+ },
4406
+ {
4407
+ name: 'stripLeading',
4408
+ returnType: 'String',
4409
+ },
4410
+ {
4411
+ name: 'stripTrailing',
4412
+ returnType: 'String',
4413
+ },
4414
+ {
4415
+ name: 'isBlank',
4416
+ returnType: 'boolean',
4417
+ },
4418
+ {
4419
+ name: 'lines',
4420
+ returnType: 'Stream',
4421
+ },
4422
+ {
4423
+ name: 'chars',
4424
+ returnType: 'IntStream',
4425
+ },
4426
+ {
4427
+ name: 'codePoints',
4428
+ returnType: 'IntStream',
4429
+ },
4430
+ {
4431
+ name: 'toCharArray',
4432
+ returnType: 'char[]',
4433
+ },
4434
+ {
4435
+ name: 'format',
4436
+ returnType: 'String',
4437
+ params: [
4438
+ {
4439
+ name: 'arg0',
4440
+ type: 'String',
4441
+ },
4442
+ {
4443
+ name: 'arg1',
4444
+ type: 'Object[]',
4445
+ },
4446
+ ],
4447
+ },
4448
+ {
4449
+ name: 'format',
4450
+ returnType: 'String',
4451
+ params: [
4452
+ {
4453
+ name: 'arg0',
4454
+ type: 'Locale',
4455
+ },
4456
+ {
4457
+ name: 'arg1',
4458
+ type: 'String',
4459
+ },
4460
+ {
4461
+ name: 'arg2',
4462
+ type: 'Object[]',
4463
+ },
4464
+ ],
4465
+ },
4466
+ {
4467
+ name: 'copyValueOf',
4468
+ returnType: 'String',
4469
+ params: [
4470
+ {
4471
+ name: 'arg0',
4472
+ type: 'char[]',
4473
+ },
4474
+ {
4475
+ name: 'arg1',
4476
+ type: 'int',
4477
+ },
4478
+ {
4479
+ name: 'arg2',
4480
+ type: 'int',
4481
+ },
4482
+ ],
4483
+ },
4484
+ {
4485
+ name: 'copyValueOf',
4486
+ returnType: 'String',
4487
+ params: [
4488
+ {
4489
+ name: 'arg0',
4490
+ type: 'char[]',
4491
+ },
4492
+ ],
4493
+ },
4494
+ {
4495
+ name: 'intern',
4496
+ returnType: 'String',
4497
+ },
4498
+ {
4499
+ name: 'repeat',
4500
+ returnType: 'String',
4501
+ params: [
4502
+ {
4503
+ name: 'arg0',
4504
+ type: 'int',
4505
+ },
4506
+ ],
4507
+ },
4508
+ {
4509
+ name: 'equals',
4510
+ returnType: 'boolean',
4511
+ params: [
4512
+ {
4513
+ name: 'arg0',
4514
+ type: 'Object',
4515
+ },
4516
+ ],
4517
+ },
4518
+ {
4519
+ name: 'hashCode',
4520
+ returnType: 'int',
4521
+ },
4522
+ {
4523
+ name: 'toString',
4524
+ returnType: 'String',
4525
+ },
4526
+ ],
4527
+ },
4528
+ 'String[]': {
4529
+ methods: [
4530
+ {
4531
+ name: 'equals',
4532
+ returnType: 'boolean',
4533
+ params: [
4534
+ {
4535
+ name: 'arg0',
4536
+ type: 'Object',
4537
+ },
4538
+ ],
4539
+ },
4540
+ {
4541
+ name: 'hashCode',
4542
+ returnType: 'int',
4543
+ },
4544
+ {
4545
+ name: 'toString',
4546
+ returnType: 'String',
4547
+ },
4548
+ ],
4549
+ },
4550
+ },
4551
+ };
4552
+
4553
+ /*
4554
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
4555
+ *
4556
+ * Licensed under the Apache License, Version 2.0 (the "License");
4557
+ * you may not use this file except in compliance with the License.
4558
+ * You may obtain a copy of the License at
4559
+ *
4560
+ * http://www.apache.org/licenses/LICENSE-2.0
4561
+ *
4562
+ * Unless required by applicable law or agreed to in writing, software
4563
+ * distributed under the License is distributed on an "AS IS" BASIS,
4564
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4565
+ * See the License for the specific language governing permissions and
4566
+ * limitations under the License.
4567
+ */
4568
+
4569
+ /*
4570
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
4571
+ *
4572
+ * Licensed under the Apache License, Version 2.0 (the "License");
4573
+ * you may not use this file except in compliance with the License.
4574
+ * You may obtain a copy of the License at
4575
+ *
4576
+ * http://www.apache.org/licenses/LICENSE-2.0
4577
+ *
4578
+ * Unless required by applicable law or agreed to in writing, software
4579
+ * distributed under the License is distributed on an "AS IS" BASIS,
4580
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4581
+ * See the License for the specific language governing permissions and
4582
+ * limitations under the License.
4583
+ */
4584
+ class SpelService extends SpelServiceAbstract {
4585
+ getGrammar() {
4586
+ return of(fakeGrammar());
4587
+ }
4588
+ }
4589
+ SpelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SpelService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4590
+ SpelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SpelService, providedIn: 'root' });
4591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SpelService, decorators: [{
4592
+ type: Injectable,
52
4593
  args: [{
53
- selector: 'gio-ui-policy-studio-angular',
54
- template: ` <p class="wow">ui-policy-studio-angular works!</p> `,
55
- styles: [],
4594
+ providedIn: 'root',
56
4595
  }]
57
4596
  }] });
58
4597
 
@@ -71,17 +4610,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
71
4610
  * See the License for the specific language governing permissions and
72
4611
  * limitations under the License.
73
4612
  */
74
- class UiPolicyStudioAngularModule {
4613
+ class GioPolicyStudioModule {
4614
+ static forSpecs() {
4615
+ return {
4616
+ ngModule: GioPolicyStudioModule,
4617
+ providers: [
4618
+ {
4619
+ provide: 'FlowService',
4620
+ useClass: FlowService,
4621
+ },
4622
+ {
4623
+ provide: 'PolicyService',
4624
+ useClass: PolicyService,
4625
+ },
4626
+ {
4627
+ provide: 'ResourceService',
4628
+ useClass: ResourceService,
4629
+ },
4630
+ {
4631
+ provide: 'SpelService',
4632
+ useClass: SpelService,
4633
+ },
4634
+ ],
4635
+ };
4636
+ }
75
4637
  }
76
- UiPolicyStudioAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
77
- UiPolicyStudioAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularModule, declarations: [UiPolicyStudioAngularComponent], exports: [UiPolicyStudioAngularComponent] });
78
- UiPolicyStudioAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularModule, imports: [[]] });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UiPolicyStudioAngularModule, decorators: [{
4638
+ GioPolicyStudioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4639
+ GioPolicyStudioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, declarations: [GioPolicyStudioComponent], exports: [GioPolicyStudioComponent] });
4640
+ GioPolicyStudioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, imports: [[]] });
4641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, decorators: [{
80
4642
  type: NgModule,
81
4643
  args: [{
82
- declarations: [UiPolicyStudioAngularComponent],
4644
+ declarations: [GioPolicyStudioComponent],
83
4645
  imports: [],
84
- exports: [UiPolicyStudioAngularComponent],
4646
+ exports: [GioPolicyStudioComponent],
4647
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
85
4648
  }]
86
4649
  }] });
87
4650
 
@@ -105,5 +4668,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
105
4668
  * Generated bundle index. Do not edit.
106
4669
  */
107
4670
 
108
- export { UiPolicyStudioAngularComponent, UiPolicyStudioAngularModule, UiPolicyStudioAngularService };
4671
+ export { FlowServiceAbstract, GioPolicyStudioComponent, GioPolicyStudioModule, PolicyServiceAbstract, ResourceServiceAbstract, SpelServiceAbstract };
109
4672
  //# sourceMappingURL=gravitee-ui-policy-studio-angular.js.map