@gravitee/ui-policy-studio-angular 1.5.0 → 1.6.0-design-studio-angular-part3-d5922a4

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