@gravitee/ui-policy-studio-angular 1.5.0 → 1.6.0-renovate-nodejs-6885629

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