@cparra/apexdocs 3.0.0 → 3.1.1

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 (264) hide show
  1. package/README.md +11 -5
  2. package/dist/cli/generate.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/logger-BATX7-be.js +3278 -0
  5. package/package.json +4 -1
  6. package/.github/workflows/ci.yaml +0 -22
  7. package/.github/workflows/close_stale.yml +0 -22
  8. package/.prettierrc.js +0 -7
  9. package/__mocks__/chalk.js +0 -12
  10. package/__mocks__/log-update.js +0 -6
  11. package/eslint.config.mjs +0 -10
  12. package/examples/README.md +0 -5
  13. package/examples/docsify/README.md +0 -17
  14. package/examples/docsify/apexdocs.config.ts +0 -13
  15. package/examples/docsify/classes/ASampleClass.cls +0 -57
  16. package/examples/docsify/classes/CodeControl.cls +0 -19
  17. package/examples/docsify/classes/SampleClass.cls +0 -95
  18. package/examples/docsify/classes/SampleInterface.cls +0 -17
  19. package/examples/docsify/classes/SomeDto.cls +0 -122
  20. package/examples/docsify/docs/.nojekyll +0 -0
  21. package/examples/docsify/docs/README.md +0 -25
  22. package/examples/docsify/docs/_config.yml +0 -1
  23. package/examples/docsify/docs/index.html +0 -22
  24. package/examples/docsify/docs/miscellaneous/ASampleClass.md +0 -88
  25. package/examples/docsify/docs/miscellaneous/CodeControl.md +0 -107
  26. package/examples/docsify/docs/miscellaneous/SomeDto.md +0 -244
  27. package/examples/docsify/docs/sample-classes/SampleClass.md +0 -171
  28. package/examples/docsify/docs/sample-interfaces/SampleInterface.md +0 -36
  29. package/examples/docsify/package-lock.json +0 -2459
  30. package/examples/docsify/package.json +0 -14
  31. package/examples/imported/.forceignore +0 -12
  32. package/examples/imported/README.md +0 -6
  33. package/examples/imported/config/project-scratch-def.json +0 -5
  34. package/examples/imported/docs/index.md +0 -109
  35. package/examples/imported/docs/miscellaneous/BaseClass.md +0 -13
  36. package/examples/imported/docs/miscellaneous/MultiInheritanceClass.md +0 -69
  37. package/examples/imported/docs/miscellaneous/ParentInterface.md +0 -12
  38. package/examples/imported/docs/miscellaneous/ReferencedEnum.md +0 -5
  39. package/examples/imported/docs/miscellaneous/SampleException.md +0 -21
  40. package/examples/imported/docs/miscellaneous/SampleInterface.md +0 -113
  41. package/examples/imported/docs/miscellaneous/Url.md +0 -308
  42. package/examples/imported/docs/sample-enums/SampleEnum.md +0 -33
  43. package/examples/imported/docs/samplegroup/SampleClass.md +0 -167
  44. package/examples/imported/force-app/classes/BaseClass.cls +0 -3
  45. package/examples/imported/force-app/classes/MultiInheritanceClass.cls +0 -1
  46. package/examples/imported/force-app/classes/ParentInterface.cls +0 -3
  47. package/examples/imported/force-app/classes/ReferencedEnum.cls +0 -3
  48. package/examples/imported/force-app/classes/SampleClass.cls +0 -72
  49. package/examples/imported/force-app/classes/SampleEnum.cls +0 -30
  50. package/examples/imported/force-app/classes/SampleException.cls +0 -17
  51. package/examples/imported/force-app/classes/SampleInterface.cls +0 -50
  52. package/examples/imported/force-app/classes/Url.cls +0 -196
  53. package/examples/imported/package-lock.json +0 -665
  54. package/examples/imported/package.json +0 -6
  55. package/examples/imported/scripts/process-docs.mjs +0 -16
  56. package/examples/imported/sfdx-project.json +0 -12
  57. package/examples/markdown/.forceignore +0 -12
  58. package/examples/markdown/README.md +0 -7
  59. package/examples/markdown/config/project-scratch-def.json +0 -5
  60. package/examples/markdown/docs/index.md +0 -109
  61. package/examples/markdown/docs/miscellaneous/BaseClass.md +0 -16
  62. package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +0 -72
  63. package/examples/markdown/docs/miscellaneous/ParentInterface.md +0 -15
  64. package/examples/markdown/docs/miscellaneous/ReferencedEnum.md +0 -8
  65. package/examples/markdown/docs/miscellaneous/SampleException.md +0 -24
  66. package/examples/markdown/docs/miscellaneous/SampleInterface.md +0 -116
  67. package/examples/markdown/docs/miscellaneous/Url.md +0 -311
  68. package/examples/markdown/docs/sample-enums/SampleEnum.md +0 -36
  69. package/examples/markdown/docs/samplegroup/SampleClass.md +0 -170
  70. package/examples/markdown/force-app/classes/BaseClass.cls +0 -3
  71. package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +0 -1
  72. package/examples/markdown/force-app/classes/ParentInterface.cls +0 -3
  73. package/examples/markdown/force-app/classes/ReferencedEnum.cls +0 -3
  74. package/examples/markdown/force-app/classes/SampleClass.cls +0 -72
  75. package/examples/markdown/force-app/classes/SampleEnum.cls +0 -30
  76. package/examples/markdown/force-app/classes/SampleException.cls +0 -17
  77. package/examples/markdown/force-app/classes/SampleInterface.cls +0 -50
  78. package/examples/markdown/force-app/classes/Url.cls +0 -196
  79. package/examples/markdown/package-lock.json +0 -665
  80. package/examples/markdown/package.json +0 -20
  81. package/examples/markdown/sfdx-project.json +0 -12
  82. package/examples/markdown-jsconfig/.forceignore +0 -12
  83. package/examples/markdown-jsconfig/README.md +0 -9
  84. package/examples/markdown-jsconfig/apexdocs.config.mjs +0 -22
  85. package/examples/markdown-jsconfig/config/project-scratch-def.json +0 -5
  86. package/examples/markdown-jsconfig/docs/index.md +0 -12
  87. package/examples/markdown-jsconfig/docs/miscellaneous/Url.md +0 -315
  88. package/examples/markdown-jsconfig/force-app/classes/Url.cls +0 -196
  89. package/examples/markdown-jsconfig/package-lock.json +0 -665
  90. package/examples/markdown-jsconfig/package.json +0 -15
  91. package/examples/markdown-jsconfig/sfdx-project.json +0 -12
  92. package/examples/open-api/README.md +0 -5
  93. package/examples/open-api/config/project-scratch-def.json +0 -13
  94. package/examples/open-api/docs/openapi.json +0 -14
  95. package/examples/open-api/force-app/main/default/classes/ChildClass.cls +0 -42
  96. package/examples/open-api/force-app/main/default/classes/SampleClass.cls +0 -167
  97. package/examples/open-api/force-app/main/default/restapi/SampleRestResource.cls +0 -195
  98. package/examples/open-api/force-app/main/default/restapi/SampleRestResourceToSkip.cls +0 -35
  99. package/examples/open-api/force-app/main/default/restapi/SampleRestResourceWithInnerClass.cls +0 -24
  100. package/examples/open-api/force-app/main/default/restapi/SampleRestResourceWithoutApexDocs.cls +0 -15
  101. package/examples/open-api/force-app/main/default/restapi/references/Reference1.cls +0 -9
  102. package/examples/open-api/force-app/main/default/restapi/references/Reference2.cls +0 -9
  103. package/examples/open-api/force-app/main/default/restapi/references/Reference3.cls +0 -3
  104. package/examples/open-api/force-app/main/default/restapi/references/Reference4.cls +0 -3
  105. package/examples/open-api/force-app/main/default/restapi/references/Reference5.cls +0 -3
  106. package/examples/open-api/force-app/main/default/restapi/references/Reference6.cls +0 -6
  107. package/examples/open-api/force-app/main/default/restapi/references/Reference7.cls +0 -3
  108. package/examples/open-api/package-lock.json +0 -724
  109. package/examples/open-api/package.json +0 -20
  110. package/examples/open-api/sfdx-project.json +0 -12
  111. package/examples/vitepress/.forceignore +0 -12
  112. package/examples/vitepress/README.md +0 -25
  113. package/examples/vitepress/apexdocs.config.ts +0 -113
  114. package/examples/vitepress/config/project-scratch-def.json +0 -13
  115. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js +0 -259
  116. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js.map +0 -7
  117. package/examples/vitepress/docs/.vitepress/cache/deps/_metadata.json +0 -40
  118. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js +0 -11474
  119. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js.map +0 -7
  120. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js +0 -9172
  121. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js.map +0 -7
  122. package/examples/vitepress/docs/.vitepress/cache/deps/package.json +0 -3
  123. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4339
  124. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  125. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -567
  126. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  127. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js +0 -323
  128. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js.map +0 -7
  129. package/examples/vitepress/docs/.vitepress/config.mts +0 -21
  130. package/examples/vitepress/docs/.vitepress/sidebar.json +0 -119
  131. package/examples/vitepress/docs/api-examples.md +0 -49
  132. package/examples/vitepress/docs/index-frontmatter.md +0 -16
  133. package/examples/vitepress/docs/index.md +0 -56
  134. package/examples/vitepress/docs/markdown-examples.md +0 -85
  135. package/examples/vitepress/docs/miscellaneous/BaseClass.md +0 -20
  136. package/examples/vitepress/docs/miscellaneous/MultiInheritanceClass.md +0 -76
  137. package/examples/vitepress/docs/miscellaneous/ParentInterface.md +0 -19
  138. package/examples/vitepress/docs/miscellaneous/ReferencedEnum.md +0 -15
  139. package/examples/vitepress/docs/miscellaneous/SampleException.md +0 -28
  140. package/examples/vitepress/docs/miscellaneous/SampleInterface.md +0 -116
  141. package/examples/vitepress/docs/miscellaneous/Url.md +0 -317
  142. package/examples/vitepress/docs/sample-enums/SampleEnum.md +0 -40
  143. package/examples/vitepress/docs/samplegroup/SampleClass.md +0 -174
  144. package/examples/vitepress/force-app/main/default/classes/BaseClass.cls +0 -3
  145. package/examples/vitepress/force-app/main/default/classes/MultiInheritanceClass.cls +0 -1
  146. package/examples/vitepress/force-app/main/default/classes/ParentInterface.cls +0 -3
  147. package/examples/vitepress/force-app/main/default/classes/ReferencedEnum.cls +0 -5
  148. package/examples/vitepress/force-app/main/default/classes/Url.cls +0 -198
  149. package/examples/vitepress/force-app/main/default/classes/feature-a/SampleClass.cls +0 -73
  150. package/examples/vitepress/force-app/main/default/classes/feature-a/SampleEnum.cls +0 -30
  151. package/examples/vitepress/force-app/main/default/classes/feature-a/SampleException.cls +0 -17
  152. package/examples/vitepress/force-app/main/default/classes/feature-a/SampleInterface.cls +0 -46
  153. package/examples/vitepress/package-lock.json +0 -2574
  154. package/examples/vitepress/package.json +0 -18
  155. package/examples/vitepress/sfdx-project.json +0 -12
  156. package/jest.config.js +0 -10
  157. package/jest.d.ts +0 -7
  158. package/src/application/Apexdocs.ts +0 -69
  159. package/src/application/__tests__/apex-file-reader.spec.ts +0 -128
  160. package/src/application/apex-file-reader.ts +0 -56
  161. package/src/application/file-system.ts +0 -69
  162. package/src/application/file-writer.ts +0 -43
  163. package/src/application/generators/markdown.ts +0 -45
  164. package/src/application/generators/openapi.ts +0 -75
  165. package/src/cli/args.ts +0 -55
  166. package/src/cli/commands/markdown.ts +0 -56
  167. package/src/cli/commands/openapi.ts +0 -36
  168. package/src/cli/generate.ts +0 -32
  169. package/src/core/__test__/manifest.spec.ts +0 -16
  170. package/src/core/manifest.ts +0 -90
  171. package/src/core/markdown/__test__/expect-extensions.ts +0 -32
  172. package/src/core/markdown/__test__/generating-class-docs.spec.ts +0 -362
  173. package/src/core/markdown/__test__/generating-docs.spec.ts +0 -378
  174. package/src/core/markdown/__test__/generating-enum-docs.spec.ts +0 -61
  175. package/src/core/markdown/__test__/generating-interface-docs.spec.ts +0 -169
  176. package/src/core/markdown/__test__/generating-reference-guide.spec.ts +0 -196
  177. package/src/core/markdown/__test__/inheritance-chain.test.ts +0 -54
  178. package/src/core/markdown/__test__/test-helpers.ts +0 -25
  179. package/src/core/markdown/adapters/__tests__/documentables.spec.ts +0 -109
  180. package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +0 -150
  181. package/src/core/markdown/adapters/__tests__/link-generator.spec.ts +0 -130
  182. package/src/core/markdown/adapters/__tests__/references.spec.ts +0 -136
  183. package/src/core/markdown/adapters/apex-types.ts +0 -238
  184. package/src/core/markdown/adapters/documentables.ts +0 -115
  185. package/src/core/markdown/adapters/fields-and-properties.ts +0 -45
  186. package/src/core/markdown/adapters/generate-link.ts +0 -82
  187. package/src/core/markdown/adapters/inline.ts +0 -143
  188. package/src/core/markdown/adapters/methods-and-constructors.ts +0 -133
  189. package/src/core/markdown/adapters/reference-guide.ts +0 -37
  190. package/src/core/markdown/adapters/renderable-bundle.ts +0 -61
  191. package/src/core/markdown/adapters/renderable-to-page-data.ts +0 -91
  192. package/src/core/markdown/adapters/type-utils.ts +0 -13
  193. package/src/core/markdown/adapters/types.d.ts +0 -180
  194. package/src/core/markdown/generate-docs.ts +0 -210
  195. package/src/core/markdown/reflection/__test__/filter-scope.spec.ts +0 -290
  196. package/src/core/markdown/reflection/__test__/helpers.ts +0 -18
  197. package/src/core/markdown/reflection/__test__/remove-excluded-tags.spec.ts +0 -200
  198. package/src/core/markdown/reflection/filter-scope.ts +0 -13
  199. package/src/core/markdown/reflection/inheritance-chain-expanion.ts +0 -22
  200. package/src/core/markdown/reflection/inheritance-chain.ts +0 -23
  201. package/src/core/markdown/reflection/inherited-member-expansion.ts +0 -105
  202. package/src/core/markdown/reflection/reflect-source.ts +0 -123
  203. package/src/core/markdown/reflection/remove-excluded-tags.ts +0 -168
  204. package/src/core/markdown/reflection/sort-types-and-members.ts +0 -61
  205. package/src/core/markdown/templates/class-template.ts +0 -75
  206. package/src/core/markdown/templates/constructors-partial-template.ts +0 -32
  207. package/src/core/markdown/templates/documentable-partial-template.ts +0 -26
  208. package/src/core/markdown/templates/enum-template.ts +0 -12
  209. package/src/core/markdown/templates/fieldsPartialTemplate.ts +0 -23
  210. package/src/core/markdown/templates/grouped-members-partial-template.ts +0 -6
  211. package/src/core/markdown/templates/hookable.ts +0 -7
  212. package/src/core/markdown/templates/interface-template.ts +0 -16
  213. package/src/core/markdown/templates/methods-partial-template.ts +0 -43
  214. package/src/core/markdown/templates/reference-guide.ts +0 -14
  215. package/src/core/markdown/templates/template.ts +0 -114
  216. package/src/core/markdown/templates/type-doc-partial.ts +0 -27
  217. package/src/core/markdown/utils.ts +0 -3
  218. package/src/core/openApiSettings.ts +0 -41
  219. package/src/core/openapi/__tests__/manifest-factory.spec.ts +0 -16
  220. package/src/core/openapi/__tests__/open-api-docs-processor.spec.ts +0 -59
  221. package/src/core/openapi/__tests__/open-api.spec.ts +0 -22
  222. package/src/core/openapi/apex-doc-types.ts +0 -26
  223. package/src/core/openapi/apex-type-wrappers/ClassMirrorWrapper.ts +0 -12
  224. package/src/core/openapi/apex-type-wrappers/MethodMirrorWrapper.ts +0 -11
  225. package/src/core/openapi/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +0 -15
  226. package/src/core/openapi/file-container.ts +0 -13
  227. package/src/core/openapi/manifest-factory.ts +0 -16
  228. package/src/core/openapi/open-api-docs-processor.ts +0 -93
  229. package/src/core/openapi/open-api-types.ts +0 -119
  230. package/src/core/openapi/open-api.ts +0 -45
  231. package/src/core/openapi/openapi-type-file.ts +0 -12
  232. package/src/core/openapi/parser.ts +0 -163
  233. package/src/core/openapi/parsers/Builder.ts +0 -40
  234. package/src/core/openapi/parsers/MethodParser.ts +0 -249
  235. package/src/core/openapi/parsers/ParameterObjectBuilder.ts +0 -13
  236. package/src/core/openapi/parsers/ReferenceBuilder.ts +0 -299
  237. package/src/core/openapi/parsers/RequestBodyBuilder.ts +0 -19
  238. package/src/core/openapi/parsers/ResponsesBuilder.ts +0 -21
  239. package/src/core/openapi/parsers/__tests__/MethodParser.spec.ts +0 -44
  240. package/src/core/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +0 -68
  241. package/src/core/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +0 -751
  242. package/src/core/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +0 -64
  243. package/src/core/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +0 -55
  244. package/src/core/openapi/transpiler.ts +0 -17
  245. package/src/core/openapi/types-repository.ts +0 -54
  246. package/src/core/parse-apex-metadata.ts +0 -30
  247. package/src/core/shared/types.d.ts +0 -150
  248. package/src/core/shared/utils.ts +0 -5
  249. package/src/defaults.ts +0 -21
  250. package/src/index.ts +0 -110
  251. package/src/test-helpers/AnnotationBuilder.ts +0 -29
  252. package/src/test-helpers/ClassMirrorBuilder.ts +0 -69
  253. package/src/test-helpers/DocCommentAnnotationBuilder.ts +0 -24
  254. package/src/test-helpers/DocCommentBuilder.ts +0 -36
  255. package/src/test-helpers/FieldMirrorBuilder.ts +0 -59
  256. package/src/test-helpers/InterfaceMirrorBuilder.ts +0 -39
  257. package/src/test-helpers/MethodMirrorBuilder.ts +0 -77
  258. package/src/test-helpers/SettingsBuilder.ts +0 -17
  259. package/src/util/error-logger.ts +0 -92
  260. package/src/util/fp.ts +0 -3
  261. package/src/util/logger.ts +0 -51
  262. package/src/util/string-utils.ts +0 -7
  263. package/tsconfig.json +0 -25
  264. package/tslint.json +0 -6
@@ -1,14 +0,0 @@
1
- {
2
- "name": "apexdocs-docsify-example",
3
- "version": "1.0.0",
4
- "dependencies": {
5
- "docsify-cli": "^4.4.1"
6
- },
7
- "devDependencies": {
8
- "ts-node": "^10.9.2"
9
- },
10
- "scripts": {
11
- "generate": "ts-node ../../src/cli/generate.ts markdown",
12
- "serve": "docsify serve docs"
13
- }
14
- }
@@ -1,12 +0,0 @@
1
- # List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
2
- # More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
3
- #
4
-
5
- package.xml
6
-
7
- # LWC configuration files
8
- **/jsconfig.json
9
- **/.eslintrc.json
10
-
11
- # LWC Jest
12
- **/__tests__/**
@@ -1,6 +0,0 @@
1
- # Importing the module
2
-
3
- This example project provides a demonstration of how to import `apexdocs` into your Javascript/Typescript project
4
- and call it imperatively.
5
-
6
- See `scripts/process-docs.mjs` for the implementation.
@@ -1,5 +0,0 @@
1
- {
2
- "orgName": "cesarparra company",
3
- "edition": "Developer",
4
- "features": []
5
- }
@@ -1,109 +0,0 @@
1
- # Apex Reference Guide
2
-
3
- ## Miscellaneous
4
-
5
- ### [BaseClass](miscellaneous/BaseClass.md)
6
-
7
- ### [MultiInheritanceClass](miscellaneous/MultiInheritanceClass.md)
8
-
9
- ### [ParentInterface](miscellaneous/ParentInterface.md)
10
-
11
- ### [ReferencedEnum](miscellaneous/ReferencedEnum.md)
12
-
13
- ### [SampleException](miscellaneous/SampleException.md)
14
-
15
- This is a sample exception.
16
-
17
- ### [SampleInterface](miscellaneous/SampleInterface.md)
18
-
19
- This is a sample interface
20
-
21
- ### [Url](miscellaneous/Url.md)
22
-
23
- Represents a uniform resource locator (URL) and provides access to parts of the URL.
24
- Enables access to the base URL used to access your Salesforce org.
25
-
26
- ## Usage
27
- Use the methods of the `System.URL` class to create links to objects in your organization. Such objects can be files, images,
28
- logos, or records that you want to include in external emails, in activities, or in Chatter posts. For example, you can create
29
- a link to a file uploaded as an attachment to a Chatter post by concatenating the Salesforce base URL with the file ID:
30
-
31
- ```apex
32
- // Get a file uploaded through Chatter.
33
- ContentDocument doc = [SELECT Id FROM ContentDocument
34
- WHERE Title = 'myfile'];
35
- // Create a link to the file.
36
- String fullFileURL = URL.getOrgDomainURL().toExternalForm() +
37
- '/' + doc.id;
38
- system.debug(fullFileURL);
39
- ```
40
-
41
-
42
- The following example creates a link to a Salesforce record. The full URL is created by concatenating the Salesforce base
43
- URL with the record ID.
44
-
45
- ```ape
46
- Account acct = [SELECT Id FROM Account WHERE Name = 'Acme' LIMIT 1];
47
- String fullRecordURL = URL.getOrgDomainURL().toExternalForm() + '/' + acct.Id;
48
- ```
49
-
50
-
51
- ## Example
52
- In this example, the base URL and the full request URL of the current Salesforce server instance are retrieved. Next, a URL
53
- pointing to a specific account object is created. Finally, components of the base and full URL are obtained. This example
54
- prints out all the results to the debug log output.
55
-
56
- ```apex
57
- // Create a new account called Acme that we will create a link for later.
58
- Account myAccount = new Account(Name='Acme');
59
- insert myAccount;
60
-
61
- // Get the base URL.
62
- String sfdcBaseURL = URL.getOrgDomainURL().toExternalForm();
63
- System.debug('Base URL: ' + sfdcBaseURL );
64
-
65
- // Get the URL for the current request.
66
- String currentRequestURL = URL.getCurrentRequestUrl().toExternalForm();
67
- System.debug('Current request URL: ' + currentRequestURL);
68
-
69
- // Create the account URL from the base URL.
70
- String accountURL = URL.getOrgDomainURL().toExternalForm() +
71
- '/' + myAccount.Id;
72
- System.debug('URL of a particular account: ' + accountURL);
73
-
74
- // Get some parts of the base URL.
75
- System.debug('Host: ' + URL.getOrgDomainURL().getHost());
76
- System.debug('Protocol: ' + URL.getOrgDomainURL().getProtocol());
77
-
78
- // Get the query string of the current request.
79
- System.debug('Query: ' + URL.getCurrentRequestUrl().getQuery());
80
- ```
81
-
82
-
83
- ## Version Behavior Changes
84
- In API version 41.0 and later, Apex URL objects are represented by the java.net.URI type, not the java.net.URL type.
85
- The API version in which the URL object was instantiated determines the behavior of subsequent method calls to the
86
- specific instance. Salesforce strongly encourages you to use API 41.0 and later versions for fully RFC-compliant URL
87
- parsing that includes proper handling of edge cases of complex URL structures. API 41.0 and later versions also enforce
88
- that inputs are valid, RFC-compliant URL or URI strings.
89
-
90
- * [URL Constructors](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_constructors)
91
- * [URL Methods](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_methods)
92
-
93
- **See Also**
94
- * [URL Class](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_url.htm)
95
-
96
- ## Sample Enums
97
-
98
- ### [SampleEnum](sample-enums/SampleEnum.md)
99
-
100
- This is a sample enum. This references [ReferencedEnum](miscellaneous/ReferencedEnum.md) .
101
-
102
- This description has several lines
103
-
104
- ## SampleGroup
105
-
106
- ### [SampleClass](samplegroup/SampleClass.md)
107
-
108
- aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
109
- deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
@@ -1,13 +0,0 @@
1
- # BaseClass Class
2
- `abstract`
3
-
4
- ## Fields
5
- ### `sampleEnumFromBase`
6
-
7
- #### Signature
8
- ```apex
9
- public sampleEnumFromBase
10
- ```
11
-
12
- #### Type
13
- [SampleEnum](../sample-enums/SampleEnum.md)
@@ -1,69 +0,0 @@
1
- # MultiInheritanceClass Class
2
-
3
- **Inheritance**
4
-
5
- [SampleClass](../samplegroup/SampleClass.md) < [BaseClass](BaseClass.md)
6
-
7
- ## Fields
8
- ### `sampleEnumFromBase`
9
-
10
- *Inherited*
11
-
12
- #### Signature
13
- ```apex
14
- public sampleEnumFromBase
15
- ```
16
-
17
- #### Type
18
- [SampleEnum](../sample-enums/SampleEnum.md)
19
-
20
- ## Properties
21
- ### Group Name
22
- #### `someProperty`
23
-
24
- *Inherited*
25
-
26
- ##### Signature
27
- ```apex
28
- public someProperty
29
- ```
30
-
31
- ##### Type
32
- String
33
-
34
- ## Methods
35
- ### Available Methods
36
- #### `doSomething()`
37
-
38
- *Inherited*
39
-
40
- ##### Signature
41
- ```apex
42
- public void doSomething()
43
- ```
44
-
45
- ##### Return Type
46
- **void**
47
-
48
- ### Deprecated Methods
49
- #### `sayHello()`
50
-
51
- *Inherited*
52
-
53
- `DEPRECATED`
54
-
55
- This is a sample method.
56
-
57
- ##### Signature
58
- ```apex
59
- public virtual String sayHello()
60
- ```
61
-
62
- ##### Return Type
63
- **String**
64
-
65
- A string value.
66
-
67
- ##### Example
68
- SampleClass sample &#x3D; new SampleClass();
69
- sample.doSomething();
@@ -1,12 +0,0 @@
1
- # ParentInterface Interface
2
-
3
- ## Methods
4
- ### `sampleParentMethod()`
5
-
6
- #### Signature
7
- ```apex
8
- public void sampleParentMethod()
9
- ```
10
-
11
- #### Return Type
12
- **void**
@@ -1,5 +0,0 @@
1
- # ReferencedEnum Enum
2
-
3
- ## Values
4
- | Value | Description |
5
- |-------|-------------|
@@ -1,21 +0,0 @@
1
- # SampleException Class
2
-
3
- This is a sample exception.
4
-
5
- **Usage**
6
-
7
- You can use the exception the following way.
8
- You can also take a look at [SampleClass](../samplegroup/SampleClass.md) to see how it is used.
9
- This is a dangerous HTML tag: &lt;script&gt;alert(&#x27;Hello&#x27;);&lt;/script&gt;
10
-
11
- ```apex
12
- try {
13
- throw new SampleException();
14
- } catch (SampleException e) {
15
- System.debug('Caught exception');
16
- }
17
- ```
18
-
19
- **Inheritance**
20
-
21
- Exception
@@ -1,113 +0,0 @@
1
- # SampleInterface Interface
2
-
3
- `NAMESPACEACCESSIBLE`
4
-
5
- This is a sample interface
6
-
7
- **Mermaid**
8
-
9
- ```mermaid
10
- graph TD
11
- A[SampleInterface] -->|extends| B[ParentInterface]
12
- B -->|extends| C[GrandParentInterface]
13
- C -->|extends| D[GreatGrandParentInterface]
14
- ```
15
-
16
- **Author** John Doe
17
-
18
- **Date** 2020-01-01
19
-
20
- **See** [SampleEnum](../sample-enums/SampleEnum.md)
21
-
22
- **See** [ReferencedEnum](ReferencedEnum.md)
23
-
24
- ## Example
25
- ```apex
26
- SampleInterface sampleInterface = new SampleInterface();
27
- sampleInterface.sampleMethod();
28
- ```
29
-
30
- **Extends**
31
- [ParentInterface](ParentInterface.md)
32
-
33
- ## Methods
34
- ### `sampleMethod()`
35
-
36
- `NAMESPACEACCESSIBLE`
37
-
38
- This is a sample method
39
-
40
- **Custom Tag**
41
-
42
- This is a custom tag
43
-
44
- **Another Custom Tag**
45
-
46
- This is another custom tag
47
-
48
- **Mermaid**
49
-
50
- graph TD
51
- A[SampleInterface] --&gt;|extends| B[ParentInterface]
52
- B --&gt;|extends| C[GrandParentInterface]
53
- C --&gt;|extends| D[GreatGrandParentInterface]
54
-
55
- #### Signature
56
- ```apex
57
- public String sampleMethod()
58
- ```
59
-
60
- #### Return Type
61
- **String**
62
-
63
- Some return value
64
-
65
- #### Throws
66
- [SampleException](SampleException.md): This is a sample exception
67
-
68
- AnotherSampleException: This is another sample exception
69
-
70
- #### Example
71
- SampleInterface sampleInterface &#x3D; new SampleInterface();
72
- sampleInterface.sampleMethod();
73
-
74
- ---
75
-
76
- ### `sampleMethodWithParams(param1, param2, theEnum)`
77
-
78
- `NAMESPACEACCESSIBLE`
79
- `DEPRECATED`
80
-
81
- This is a sample method with parameters
82
- Sometimes it won&#x27;t be possible to find a NonExistent link.
83
-
84
- #### Signature
85
- ```apex
86
- public SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum)
87
- ```
88
-
89
- #### Parameters
90
- | Name | Type | Description |
91
- |------|------|-------------|
92
- | param1 | String | This is the first parameter |
93
- | param2 | Integer | This is the second parameter |
94
- | theEnum | [SampleEnum](../sample-enums/SampleEnum.md) | This is an enum parameter |
95
-
96
- #### Return Type
97
- **[SampleEnum](../sample-enums/SampleEnum.md)**
98
-
99
- Some return value
100
-
101
- ---
102
-
103
- ### `sampleParentMethod()`
104
-
105
- *Inherited*
106
-
107
- #### Signature
108
- ```apex
109
- public void sampleParentMethod()
110
- ```
111
-
112
- #### Return Type
113
- **void**
@@ -1,308 +0,0 @@
1
- # Url Class
2
-
3
- Represents a uniform resource locator (URL) and provides access to parts of the URL.
4
- Enables access to the base URL used to access your Salesforce org.
5
-
6
- ## Usage
7
- Use the methods of the `System.URL` class to create links to objects in your organization. Such objects can be files, images,
8
- logos, or records that you want to include in external emails, in activities, or in Chatter posts. For example, you can create
9
- a link to a file uploaded as an attachment to a Chatter post by concatenating the Salesforce base URL with the file ID:
10
-
11
- ```apex
12
- // Get a file uploaded through Chatter.
13
- ContentDocument doc = [SELECT Id FROM ContentDocument
14
- WHERE Title = 'myfile'];
15
- // Create a link to the file.
16
- String fullFileURL = URL.getOrgDomainURL().toExternalForm() +
17
- '/' + doc.id;
18
- system.debug(fullFileURL);
19
- ```
20
-
21
-
22
- The following example creates a link to a Salesforce record. The full URL is created by concatenating the Salesforce base
23
- URL with the record ID.
24
-
25
- ```ape
26
- Account acct = [SELECT Id FROM Account WHERE Name = 'Acme' LIMIT 1];
27
- String fullRecordURL = URL.getOrgDomainURL().toExternalForm() + '/' + acct.Id;
28
- ```
29
-
30
-
31
- ## Example
32
- In this example, the base URL and the full request URL of the current Salesforce server instance are retrieved. Next, a URL
33
- pointing to a specific account object is created. Finally, components of the base and full URL are obtained. This example
34
- prints out all the results to the debug log output.
35
-
36
- ```apex
37
- // Create a new account called Acme that we will create a link for later.
38
- Account myAccount = new Account(Name='Acme');
39
- insert myAccount;
40
-
41
- // Get the base URL.
42
- String sfdcBaseURL = URL.getOrgDomainURL().toExternalForm();
43
- System.debug('Base URL: ' + sfdcBaseURL );
44
-
45
- // Get the URL for the current request.
46
- String currentRequestURL = URL.getCurrentRequestUrl().toExternalForm();
47
- System.debug('Current request URL: ' + currentRequestURL);
48
-
49
- // Create the account URL from the base URL.
50
- String accountURL = URL.getOrgDomainURL().toExternalForm() +
51
- '/' + myAccount.Id;
52
- System.debug('URL of a particular account: ' + accountURL);
53
-
54
- // Get some parts of the base URL.
55
- System.debug('Host: ' + URL.getOrgDomainURL().getHost());
56
- System.debug('Protocol: ' + URL.getOrgDomainURL().getProtocol());
57
-
58
- // Get the query string of the current request.
59
- System.debug('Query: ' + URL.getCurrentRequestUrl().getQuery());
60
- ```
61
-
62
-
63
- ## Version Behavior Changes
64
- In API version 41.0 and later, Apex URL objects are represented by the java.net.URI type, not the java.net.URL type.
65
- The API version in which the URL object was instantiated determines the behavior of subsequent method calls to the
66
- specific instance. Salesforce strongly encourages you to use API 41.0 and later versions for fully RFC-compliant URL
67
- parsing that includes proper handling of edge cases of complex URL structures. API 41.0 and later versions also enforce
68
- that inputs are valid, RFC-compliant URL or URI strings.
69
-
70
- * [URL Constructors](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_constructors)
71
- * [URL Methods](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_methods)
72
-
73
- **See Also**
74
- * [URL Class](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_url.htm)
75
-
76
- ## Constructors
77
- ### `Url(spec)`
78
-
79
- Creates a new instance of the URL class using the specified string representation of the URL.
80
-
81
- #### Signature
82
- ```apex
83
- global Url(String spec)
84
- ```
85
-
86
- #### Parameters
87
- | Name | Type | Description |
88
- |------|------|-------------|
89
- | spec | String | The string to parse as a URL. |
90
-
91
- ---
92
-
93
- ### `Url(context, spec)`
94
-
95
- Creates a new instance of the URL class by parsing the specified spec within the specified context.
96
-
97
- **Usage**
98
-
99
- The new URL is created from the given context URL and the spec argument as described in RFC2396 &quot;Uniform Resource Identifiers : Generic * Syntax&quot; :
100
- ```xml
101
- <scheme>://<authority><path>?<query>#<fragment>
102
- ```
103
-
104
-
105
- For more information about the arguments of this constructor, see the corresponding URL(java.net.URL, java.lang.String) constructor for Java.
106
-
107
- #### Signature
108
- ```apex
109
- global Url(Url context, String spec)
110
- ```
111
-
112
- #### Parameters
113
- | Name | Type | Description |
114
- |------|------|-------------|
115
- | context | [Url](Url.md) | The context in which to parse the specification. |
116
- | spec | String | The string to parse as a URL. |
117
-
118
- ---
119
-
120
- ### `Url(protocol, host, file)`
121
-
122
- Creates a new instance of the URL class using the specified protocol, host, and file on the host. The default port for the specified protocol is used.
123
-
124
- #### Signature
125
- ```apex
126
- global Url(String protocol, String host, String file)
127
- ```
128
-
129
- #### Parameters
130
- | Name | Type | Description |
131
- |------|------|-------------|
132
- | protocol | String | The protocol name for this URL. |
133
- | host | String | The host name for this URL. |
134
- | file | String | The file name for this URL. |
135
-
136
- ---
137
-
138
- ### `Url(protocol, host, port, file)`
139
-
140
- Creates a new instance of the URL class using the specified protocol, host, port number, and file on the host.
141
-
142
- #### Signature
143
- ```apex
144
- global Url(String protocol, String host, Integer port, String file)
145
- ```
146
-
147
- #### Parameters
148
- | Name | Type | Description |
149
- |------|------|-------------|
150
- | protocol | String | The protocol name for this URL. |
151
- | host | String | The host name for this URL. |
152
- | port | Integer | The port number for this URL. |
153
- | file | String | The file name for this URL. |
154
-
155
- ## Methods
156
- ### `getAuthority()`
157
-
158
- Returns the authority portion of the current URL.
159
-
160
- #### Signature
161
- ```apex
162
- global String getAuthority()
163
- ```
164
-
165
- #### Return Type
166
- **String**
167
-
168
- The authority portion of the current URL.
169
-
170
- ---
171
-
172
- ### `getCurrentRequestUrl()`
173
-
174
- Returns the URL of an entire request on a Salesforce instance.
175
-
176
- **Usage**
177
-
178
- An example of a URL for an entire request is https://yourInstance.salesforce.com/apex/myVfPage.apexp.
179
-
180
- #### Signature
181
- ```apex
182
- global static Url getCurrentRequestUrl()
183
- ```
184
-
185
- #### Return Type
186
- **[Url](Url.md)**
187
-
188
- The URL of the entire request.
189
-
190
- ---
191
-
192
- ### `getDefPort()`
193
-
194
- Returns the default port number of the protocol associated with the current URL.
195
-
196
- **Usage**
197
-
198
- Returns -1 if the URL scheme or the stream protocol handler for the URL doesn&#x27;t define a default port number.
199
-
200
- #### Signature
201
- ```apex
202
- global Integer getDefPort()
203
- ```
204
-
205
- #### Return Type
206
- **Integer**
207
-
208
- The default port number of the protocol associated with the current URL.
209
-
210
- ---
211
-
212
- ### `getFile()`
213
-
214
- Returns the file name of the current URL.
215
-
216
- #### Signature
217
- ```apex
218
- global String getFile()
219
- ```
220
-
221
- #### Return Type
222
- **String**
223
-
224
- The file name of the current URL.
225
-
226
- ---
227
-
228
- ### `getFileFieldURL(entityId, fieldName)`
229
-
230
- Returns the download URL for a file attachment.
231
-
232
- #### Signature
233
- ```apex
234
- global static String getFileFieldURL(String entityId, String fieldName)
235
- ```
236
-
237
- #### Parameters
238
- | Name | Type | Description |
239
- |------|------|-------------|
240
- | entityId | String | Specifies the ID of the entity that holds the file data. |
241
- | fieldName | String | Specifies the API name of a file field component, such as `AttachmentBody` . |
242
-
243
- #### Return Type
244
- **String**
245
-
246
- The download URL for the file attachment.
247
-
248
- #### Example
249
- String fileURL &#x3D;
250
- URL.getFileFieldURL(
251
- &#x27;087000000000123&#x27; ,
252
- &#x27;AttachmentBody&#x27;);
253
-
254
- ---
255
-
256
- ### `getHost()`
257
-
258
- Returns the host name of the current URL.
259
-
260
- #### Signature
261
- ```apex
262
- global String getHost()
263
- ```
264
-
265
- #### Return Type
266
- **String**
267
-
268
- The host name of the current URL.
269
-
270
- ---
271
-
272
- ### `getOrgDomainUrl()`
273
-
274
- Returns the canonical URL for your org. For example, https://MyDomainName.my.salesforce.com.
275
-
276
- **Usage**
277
-
278
- Use getOrgDomainUrl() to interact with Salesforce REST and SOAP APIs in Apex code. Get endpoints for User Interface API calls, for creating and customizing picklist value sets and custom fields, and more.
279
-
280
- `getOrgDomainUrl()` can access the domain URL only for the org in which the Apex code is running.
281
-
282
- You don&#x27;t need a RemoteSiteSetting for your org to interact with the Salesforce APIs using domain URLs retrieved with this method.
283
-
284
- **See Also**
285
-
286
- * [Lightning Aura Components Developer Guide: Making API Calls from Apex](https://developer.salesforce.com/docs/atlas.en-us.250.0.lightning.meta/lightning/apex_api_calls.htm)
287
-
288
- #### Signature
289
- ```apex
290
- global static Url getOrgDomainUrl()
291
- ```
292
-
293
- #### Return Type
294
- **[Url](Url.md)**
295
-
296
- getOrgDomainUrl() always returns the login URL for your org, regardless of context. Use that URL when making API calls to your org.
297
-
298
- #### Example
299
- This example uses the Salesforce REST API to get organization limit values. For information on limits, see Limits in the REST API Developer Guide.
300
- ```apex
301
- Http h = new Http();
302
- HttpRequest req = new HttpRequest();
303
- req.setEndpoint(Url.getOrgDomainUrl().toExternalForm()
304
- + '/services/data/v44.0/limits');
305
- req.setMethod('GET');
306
- req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
307
- HttpResponse res = h.send(req);
308
- ```