@cparra/apexdocs 2.23.0 → 2.25.0-alpha.0
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.
- package/.github/workflows/ci.yaml +22 -0
- package/README.md +40 -16
- package/examples/plain-markdown/.forceignore +12 -0
- package/examples/plain-markdown/README.md +301 -0
- package/examples/plain-markdown/config/project-scratch-def.json +5 -0
- package/examples/plain-markdown/force-app/classes/BaseClass.cls +3 -0
- package/examples/plain-markdown/force-app/classes/ParentInterface.cls +3 -0
- package/examples/plain-markdown/force-app/classes/ReferencedEnum.cls +3 -0
- package/examples/plain-markdown/force-app/classes/SampleClass.cls +35 -0
- package/examples/plain-markdown/force-app/classes/SampleEnum.cls +30 -0
- package/examples/plain-markdown/force-app/classes/SampleException.cls +1 -0
- package/examples/plain-markdown/force-app/classes/SampleInterface.cls +46 -0
- package/examples/plain-markdown/package-lock.json +665 -0
- package/examples/plain-markdown/package.json +24 -0
- package/examples/plain-markdown/sfdx-project.json +12 -0
- package/examples/plain-markdown/template.md +3 -0
- package/lib/adapters/apex-types.d.ts +5 -0
- package/lib/adapters/apex-types.js +34 -0
- package/lib/adapters/apex-types.js.map +1 -0
- package/lib/adapters/documentables.d.ts +6 -0
- package/lib/adapters/documentables.js +41 -0
- package/lib/adapters/documentables.js.map +1 -0
- package/lib/adapters/fields-and-properties.d.ts +3 -0
- package/lib/adapters/fields-and-properties.js +10 -0
- package/lib/adapters/fields-and-properties.js.map +1 -0
- package/lib/adapters/methods-and-constructors.d.ts +4 -0
- package/lib/adapters/methods-and-constructors.js +49 -0
- package/lib/adapters/methods-and-constructors.js.map +1 -0
- package/lib/adapters/references.d.ts +5 -0
- package/lib/adapters/references.js +82 -0
- package/lib/adapters/references.js.map +1 -0
- package/lib/adapters/type-utils.d.ts +2 -0
- package/lib/adapters/type-utils.js +8 -0
- package/lib/adapters/type-utils.js.map +1 -0
- package/lib/application/Apexdocs.js +5 -2
- package/lib/application/Apexdocs.js.map +1 -1
- package/lib/cli/generate.js +28 -2
- package/lib/cli/generate.js.map +1 -1
- package/lib/model/manifest.d.ts +1 -1
- package/lib/model/manifest.js +2 -2
- package/lib/model/manifest.js.map +1 -1
- package/lib/model/markdown-file.js +5 -2
- package/lib/model/markdown-file.js.map +1 -1
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +4 -1
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +1 -1
- package/lib/model/markdown-home-file.js +4 -1
- package/lib/model/markdown-home-file.js.map +1 -1
- package/lib/model/markdown-type-file.js +4 -1
- package/lib/model/markdown-type-file.js.map +1 -1
- package/lib/model/openapi/open-api-types.d.ts +2 -2
- package/lib/service/apex-file-reader.js +4 -1
- package/lib/service/apex-file-reader.js.map +1 -1
- package/lib/service/file-system.js +25 -2
- package/lib/service/file-system.js.map +1 -1
- package/lib/service/file-writer.js +25 -2
- package/lib/service/file-writer.js.map +1 -1
- package/lib/service/manifest-factory.js +4 -1
- package/lib/service/manifest-factory.js.map +1 -1
- package/lib/service/parser.js +4 -1
- package/lib/service/parser.js.map +1 -1
- package/lib/settings.d.ts +6 -0
- package/lib/settings.js +11 -0
- package/lib/settings.js.map +1 -1
- package/lib/templating/compile.d.ts +7 -0
- package/lib/templating/compile.js +98 -0
- package/lib/templating/compile.js.map +1 -0
- package/lib/templating/helpers.d.ts +2 -0
- package/lib/templating/helpers.js +18 -0
- package/lib/templating/helpers.js.map +1 -0
- package/lib/test-helpers/FieldMirrorBuilder.d.ts +1 -1
- package/lib/test-helpers/InterfaceMirrorBuilder.d.ts +16 -0
- package/lib/test-helpers/InterfaceMirrorBuilder.js +43 -0
- package/lib/test-helpers/InterfaceMirrorBuilder.js.map +1 -0
- package/lib/test-helpers/MethodMirrorBuilder.d.ts +20 -1
- package/lib/test-helpers/MethodMirrorBuilder.js +41 -6
- package/lib/test-helpers/MethodMirrorBuilder.js.map +1 -1
- package/lib/transpiler/factory.js +4 -1
- package/lib/transpiler/factory.js.map +1 -1
- package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +3 -0
- package/lib/transpiler/markdown/class-file-generatorHelper.js +21 -2
- package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -1
- package/lib/transpiler/markdown/markdown-transpiler-base.js +4 -1
- package/lib/transpiler/markdown/markdown-transpiler-base.js.map +1 -1
- package/lib/transpiler/markdown/plain-markdown/class-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/class-template.js +36 -0
- package/lib/transpiler/markdown/plain-markdown/class-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js +39 -0
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js +25 -0
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/enum-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/enum-template.js +15 -0
- package/lib/transpiler/markdown/plain-markdown/enum-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js +24 -0
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/interface-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/interface-template.js +20 -0
- package/lib/transpiler/markdown/plain-markdown/interface-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js +49 -0
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +7 -0
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +108 -0
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +1 -1
- package/lib/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.js +31 -0
- package/lib/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.js.map +1 -0
- package/lib/transpiler/openapi/open-api-docs-processor.js +4 -1
- package/lib/transpiler/openapi/open-api-docs-processor.js.map +1 -1
- package/lib/transpiler/openapi/parsers/Builder.js.map +1 -1
- package/lib/transpiler/openapi/parsers/MethodParser.js +25 -2
- package/lib/transpiler/openapi/parsers/MethodParser.js.map +1 -1
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +25 -2
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +1 -1
- package/lib/transpiler/transpiler.js +4 -1
- package/lib/transpiler/transpiler.js.map +1 -1
- package/lib/util/error-logger.js +4 -4
- package/lib/util/error-logger.js.map +1 -1
- package/lib/util/logger.js +10 -7
- package/lib/util/logger.js.map +1 -1
- package/package.json +16 -15
- package/src/adapters/__tests__/interface-adapter.spec.ts +76 -0
- package/src/adapters/__tests__/references.spec.ts +115 -0
- package/src/adapters/apex-types.ts +67 -0
- package/src/adapters/documentables.ts +58 -0
- package/src/adapters/fields-and-properties.ts +14 -0
- package/src/adapters/methods-and-constructors.ts +78 -0
- package/src/adapters/references.ts +113 -0
- package/src/adapters/type-utils.ts +5 -0
- package/src/adapters/types.d.ts +8 -0
- package/src/cli/generate.ts +3 -0
- package/src/model/__tests__/manifest.spec.ts +1 -0
- package/src/model/manifest.ts +3 -3
- package/src/model/markdown-file.ts +1 -1
- package/src/model/openapi/open-api-types.ts +2 -2
- package/src/service/__tests__/apex-file-reader.spec.ts +4 -4
- package/src/service/__tests__/manifest-factory.spec.ts +1 -2
- package/src/settings.ts +15 -0
- package/src/templating/__tests__/compile.spec.ts +741 -0
- package/src/templating/compile.ts +187 -0
- package/src/templating/helpers.ts +14 -0
- package/src/templating/types.d.ts +104 -0
- package/src/test-helpers/FieldMirrorBuilder.ts +1 -1
- package/src/test-helpers/InterfaceMirrorBuilder.ts +44 -0
- package/src/test-helpers/MethodMirrorBuilder.ts +46 -6
- package/src/transpiler/markdown/class-file-generatorHelper.ts +22 -2
- package/src/transpiler/markdown/plain-markdown/class-template.ts +32 -0
- package/src/transpiler/markdown/plain-markdown/constructors-partial-template.ts +35 -0
- package/src/transpiler/markdown/plain-markdown/documentable-partial-template.ts +21 -0
- package/src/transpiler/markdown/plain-markdown/enum-template.ts +11 -0
- package/src/transpiler/markdown/plain-markdown/fieldsPartialTemplate.ts +20 -0
- package/src/transpiler/markdown/plain-markdown/interface-template.ts +16 -0
- package/src/transpiler/markdown/plain-markdown/methods-partial-template.ts +45 -0
- package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +122 -0
- package/src/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.ts +27 -0
- package/src/transpiler/openapi/parsers/Builder.ts +1 -1
- package/src/transpiler/openapi/parsers/MethodParser.ts +1 -1
- package/src/transpiler/openapi/parsers/ReferenceBuilder.ts +1 -1
- package/src/util/error-logger.ts +4 -4
- package/src/util/logger.ts +3 -3
- package/tsconfig.json +1 -0
- package/lib/model/manifest-diff.d.ts +0 -27
- package/lib/model/manifest-diff.js +0 -69
- package/lib/model/manifest-diff.js.map +0 -1
- package/src/model/__tests__/manifest-diff.spec.ts +0 -139
- package/src/model/manifest-diff.ts +0 -94
- /package/docs/{README.md → __old/README.md} +0 -0
- /package/docs/{index.html → __old/index.html} +0 -0
- /package/docs/{restapi.json → __old/restapi.json} +0 -0
- /package/docs/{types → __old/types}/Classes/nspc.AnotherInterface.md +0 -0
- /package/docs/{types → __old/types}/Classes/nspc.ChildClass.md +0 -0
- /package/docs/{types → __old/types}/Main/nspc.GroupedClass.md +0 -0
- /package/docs/{types → __old/types}/Main/nspc.SampleClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.EscapedAnnotations.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.GrandparentClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.InterfaceWithInheritance.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.MemberGrouping.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.ParentClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference1.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference2.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference3.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference4.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference5.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference6.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference7.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResource.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -0
- /package/docs/{types → __old/types}/README.md +0 -0
- /package/docs/{types → __old/types}/Sample-Interfaces/nspc.SampleInterface.md +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ["master", "develop"]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: ["main", "develop"]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- name: Setup node
|
|
16
|
+
uses: actions/setup-node@v3
|
|
17
|
+
with:
|
|
18
|
+
node-version: "20"
|
|
19
|
+
cache: "npm"
|
|
20
|
+
- run: npm ci
|
|
21
|
+
- run: npm run build --if-present
|
|
22
|
+
- run: npm test
|
package/README.md
CHANGED
|
@@ -111,14 +111,14 @@ The CLI supports the following parameters:
|
|
|
111
111
|
| --targetGenerator | -g | Define the static file generator for which the documents will be created. Currently supports: `jekyll`, `docsify`, `plain-markdown`, and `openapi`. | `jekyll` | No |
|
|
112
112
|
| --indexOnly | N/A | Defines whether only the index file should be generated. | `false` | No |
|
|
113
113
|
| --defaultGroupName | N/A | Defines the `@group` name to be used when a file does not specify it. | `Miscellaneous` | No |
|
|
114
|
-
| --sanitizeHtml | N/A | When on, any special character within your ApexDocs is converted into its HTML code representation. This is specially useful when generic objects are described within the docs, e.g. "List< Foo>", "Map<Foo, Bar>" because otherwise the content within < and > would be treated as HTML tags and not shown in the output. Content in @example blocks are never sanitized. |
|
|
115
|
-
| --openApiTitle | N/A | If using "openapi" as the target generator, this allows you to specify the OpenApi title value. |
|
|
114
|
+
| --sanitizeHtml | N/A | When on, any special character within your ApexDocs is converted into its HTML code representation. This is specially useful when generic objects are described within the docs, e.g. "List< Foo>", "Map<Foo, Bar>" because otherwise the content within < and > would be treated as HTML tags and not shown in the output. Content in @example blocks are never sanitized. | true | No |
|
|
115
|
+
| --openApiTitle | N/A | If using "openapi" as the target generator, this allows you to specify the OpenApi title value. | `Apex REST Api` | No |
|
|
116
116
|
| --title | N/A | Allows you to specify the home page main title. If using "openapi" this acts as an alias to the openApiTitle parameter | `Classes` | No |
|
|
117
117
|
| --namespace | N/A | The package namespace, if any. If this value is provided the namespace will be added as a prefix to all of the parsed files. If generating an OpenApi definition, it will be added to the file's Server Url. | N/A | No |
|
|
118
118
|
| --openApiFileName | N/A | If using "openapi" as the target generator, this allows you to specify the name of the output file. | `openapi` | No |
|
|
119
119
|
| --sortMembersAlphabetically | N/A | Whether to sort the members of a class alphabetically. | `false` | No |
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
| --includeMetadata | N/A | Whether to include the file's meta.xml information: Whether it is active and and the API version | false | No |
|
|
121
|
+
| --documentationRootDir | N/A | The root directory where the documentation will be generated. This is useful when you want to generate the documentation in a subdirectory of your project. | N/A | No |
|
|
122
122
|
|
|
123
123
|
### Using a configuration file
|
|
124
124
|
|
|
@@ -178,20 +178,20 @@ which is what gets used by this library behind the scenes to generate the docume
|
|
|
178
178
|
|
|
179
179
|
ApexDocs picks up blocks of comments throughout your `.cls` files. The block must begin with `/**` and end with `*/`.
|
|
180
180
|
|
|
181
|
-
### Documenting Classes
|
|
181
|
+
### Documenting Classes and Interfaces
|
|
182
182
|
|
|
183
|
-
The following tags are supported
|
|
183
|
+
The following tags are supported at the class or interface level:
|
|
184
184
|
|
|
185
185
|
**Note** Any custom generated tag is also supported. Custom tags can be added with at symbol (`@`) followed by the name
|
|
186
186
|
of the tag. For example `@custom-tag`
|
|
187
187
|
|
|
188
|
-
| Tag | Description
|
|
189
|
-
|
|
190
|
-
| `@description` | One or more lines describing the class.
|
|
191
|
-
| `@see` | The name of a related class.
|
|
192
|
-
| `@group` | The group to which the class belongs to.
|
|
193
|
-
| `@author` | The author of the class.
|
|
194
|
-
| `@date` | The date the class was created.
|
|
188
|
+
| Tag | Description |
|
|
189
|
+
|----------------|------------------------------------------|
|
|
190
|
+
| `@description` | One or more lines describing the class. |
|
|
191
|
+
| `@see` | The name of a related class. |
|
|
192
|
+
| `@group` | The group to which the class belongs to. |
|
|
193
|
+
| `@author` | The author of the class. |
|
|
194
|
+
| `@date` | The date the class was created. |
|
|
195
195
|
|
|
196
196
|
**Example**
|
|
197
197
|
|
|
@@ -207,9 +207,13 @@ public with sharing class TestClass {
|
|
|
207
207
|
|
|
208
208
|
The following tags are supported on the enum level:
|
|
209
209
|
|
|
210
|
-
| Tag | Description
|
|
211
|
-
|
|
212
|
-
| `@description` | One or more lines describing the enum.
|
|
210
|
+
| Tag | Description |
|
|
211
|
+
|----------------|--------------------------------------------------|
|
|
212
|
+
| `@description` | One or more lines describing the enum. |
|
|
213
|
+
| `@see` | The name of a related class, enum, or interface. |
|
|
214
|
+
| `@group` | The group to which the enum belongs to. |
|
|
215
|
+
| `@author` | The author of the enum. |
|
|
216
|
+
| `@date` | The date the enum was created. |
|
|
213
217
|
|
|
214
218
|
**Example**
|
|
215
219
|
|
|
@@ -222,6 +226,25 @@ public Enum ExampleEnum {
|
|
|
222
226
|
}
|
|
223
227
|
```
|
|
224
228
|
|
|
229
|
+
### Documenting Enum Values
|
|
230
|
+
|
|
231
|
+
The following tags are supported on the enum value level:
|
|
232
|
+
|
|
233
|
+
| Tag | Description |
|
|
234
|
+
|----------------|-----------------------------------------|
|
|
235
|
+
| `@description` | One or more lines describing the value. |
|
|
236
|
+
|
|
237
|
+
**Example**
|
|
238
|
+
|
|
239
|
+
```apex
|
|
240
|
+
public enum ExampleEnum {
|
|
241
|
+
/** @description This is my enum value description. */
|
|
242
|
+
VALUE_1,
|
|
243
|
+
/** @description This is my other enum value description. */
|
|
244
|
+
VALUE_2
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
225
248
|
### Documenting Properties
|
|
226
249
|
|
|
227
250
|
The following tags are supported on the property level:
|
|
@@ -253,6 +276,7 @@ The following tags are supported on the method level:
|
|
|
253
276
|
| `@example` | Example of how the code can be used or called. |
|
|
254
277
|
| `@throws` _ExceptionName_ | Description of an exception thrown by the method. |
|
|
255
278
|
| `@exception` _ExceptionName_ | Same as `@throws`. V2 only |
|
|
279
|
+
| `@mermaid` | Diagrams in Mermaid format. |
|
|
256
280
|
|
|
257
281
|
**Example**
|
|
258
282
|
|
|
@@ -0,0 +1,12 @@
|
|
|
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__/**
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Template file
|
|
2
|
+
|
|
3
|
+
# BaseClass Class
|
|
4
|
+
`abstract`
|
|
5
|
+
|
|
6
|
+
## Namespace
|
|
7
|
+
ns
|
|
8
|
+
|
|
9
|
+
## Fields
|
|
10
|
+
### `sampleEnumFromBase`
|
|
11
|
+
|
|
12
|
+
#### Type
|
|
13
|
+
[ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# ParentInterface Interface
|
|
19
|
+
|
|
20
|
+
## Namespace
|
|
21
|
+
ns
|
|
22
|
+
|
|
23
|
+
## Methods
|
|
24
|
+
### `sampleParentMethod()`
|
|
25
|
+
|
|
26
|
+
### Signature
|
|
27
|
+
```apex
|
|
28
|
+
public void sampleParentMethod()
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Returns
|
|
32
|
+
**void**
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# ReferencedEnum Enum
|
|
38
|
+
|
|
39
|
+
## Namespace
|
|
40
|
+
ns
|
|
41
|
+
|
|
42
|
+
## Enum Values
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
# SampleClass Class
|
|
48
|
+
`virtual`
|
|
49
|
+
|
|
50
|
+
aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
|
|
51
|
+
|
|
52
|
+
deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
|
|
53
|
+
|
|
54
|
+
**Group** SampleGroup
|
|
55
|
+
|
|
56
|
+
## Namespace
|
|
57
|
+
ns
|
|
58
|
+
|
|
59
|
+
## Example
|
|
60
|
+
```apex
|
|
61
|
+
SampleClass sample = new SampleClass();
|
|
62
|
+
sample.doSomething();
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Extends**
|
|
66
|
+
[ns.BaseClass](../Miscellaneous/ns.BaseClass.md)
|
|
67
|
+
|
|
68
|
+
**Implements**
|
|
69
|
+
[ns.SampleInterface](../Miscellaneous/ns.SampleInterface.md),
|
|
70
|
+
[ns.ParentInterface](../Miscellaneous/ns.ParentInterface.md)
|
|
71
|
+
|
|
72
|
+
## Fields
|
|
73
|
+
### `name`
|
|
74
|
+
|
|
75
|
+
This is a sample field.
|
|
76
|
+
|
|
77
|
+
#### Type
|
|
78
|
+
String
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### `sampleEnumFromBase`
|
|
83
|
+
|
|
84
|
+
*Inherited*
|
|
85
|
+
|
|
86
|
+
#### Type
|
|
87
|
+
[ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
|
|
88
|
+
|
|
89
|
+
## Constructors
|
|
90
|
+
### `SampleClass()`
|
|
91
|
+
|
|
92
|
+
This is a sample constructor.
|
|
93
|
+
|
|
94
|
+
### Signature
|
|
95
|
+
```apex
|
|
96
|
+
public SampleClass()
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
### `SampleClass(name)`
|
|
101
|
+
|
|
102
|
+
### Signature
|
|
103
|
+
```apex
|
|
104
|
+
public SampleClass(String name)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Parameters
|
|
108
|
+
| Name | Type | Description |
|
|
109
|
+
|------|------|-------------|
|
|
110
|
+
| name | String | |
|
|
111
|
+
|
|
112
|
+
## Methods
|
|
113
|
+
### `sayHello()`
|
|
114
|
+
|
|
115
|
+
`DEPRECATED`
|
|
116
|
+
|
|
117
|
+
This is a sample method.
|
|
118
|
+
|
|
119
|
+
### Signature
|
|
120
|
+
```apex
|
|
121
|
+
public virtual String sayHello()
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Returns
|
|
125
|
+
**String**
|
|
126
|
+
|
|
127
|
+
A string value.
|
|
128
|
+
|
|
129
|
+
### Example
|
|
130
|
+
```apex
|
|
131
|
+
SampleClass sample = new SampleClass();
|
|
132
|
+
sample.doSomething();
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
# SampleEnum Enum
|
|
139
|
+
|
|
140
|
+
`NAMESPACEACCESSIBLE`
|
|
141
|
+
|
|
142
|
+
This is a sample enum. This references [ns.ReferencedEnum](../Miscellaneous/ns.ReferencedEnum.md) .
|
|
143
|
+
|
|
144
|
+
This description has several lines
|
|
145
|
+
|
|
146
|
+
**Some Custom**
|
|
147
|
+
|
|
148
|
+
**Group** Sample Enums
|
|
149
|
+
|
|
150
|
+
**Author** John Doe
|
|
151
|
+
|
|
152
|
+
**Date** 2022-01-01
|
|
153
|
+
|
|
154
|
+
**See** [ns.ReferencedEnum](../Miscellaneous/ns.ReferencedEnum.md)
|
|
155
|
+
|
|
156
|
+
## Namespace
|
|
157
|
+
ns
|
|
158
|
+
|
|
159
|
+
```mermaid
|
|
160
|
+
graph TD
|
|
161
|
+
A[SampleEnum] -->|references| B[ReferencedEnum]
|
|
162
|
+
B -->|referenced by| A
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Enum Values
|
|
166
|
+
### VALUE1
|
|
167
|
+
This is value 1
|
|
168
|
+
### VALUE2
|
|
169
|
+
This is value 2
|
|
170
|
+
### VALUE3
|
|
171
|
+
This is value 3
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
# SampleException Class
|
|
177
|
+
|
|
178
|
+
## Namespace
|
|
179
|
+
ns
|
|
180
|
+
|
|
181
|
+
**Extends**
|
|
182
|
+
Exception
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
# SampleInterface Interface
|
|
188
|
+
|
|
189
|
+
`NAMESPACEACCESSIBLE`
|
|
190
|
+
|
|
191
|
+
This is a sample interface
|
|
192
|
+
|
|
193
|
+
**Author** John Doe
|
|
194
|
+
|
|
195
|
+
**Date** 2020-01-01
|
|
196
|
+
|
|
197
|
+
**See** [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
|
|
198
|
+
|
|
199
|
+
**See** [ns.ReferencedEnum](./ns.ReferencedEnum.md)
|
|
200
|
+
|
|
201
|
+
## Namespace
|
|
202
|
+
ns
|
|
203
|
+
|
|
204
|
+
```mermaid
|
|
205
|
+
graph TD
|
|
206
|
+
A[SampleInterface] -->|extends| B[ParentInterface]
|
|
207
|
+
B -->|extends| C[GrandParentInterface]
|
|
208
|
+
C -->|extends| D[GreatGrandParentInterface]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Example
|
|
212
|
+
```apex
|
|
213
|
+
SampleInterface sampleInterface = new SampleInterface();
|
|
214
|
+
sampleInterface.sampleMethod();
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Extends**
|
|
218
|
+
[ns.ParentInterface](./ns.ParentInterface.md)
|
|
219
|
+
|
|
220
|
+
## Methods
|
|
221
|
+
### `sampleMethod()`
|
|
222
|
+
|
|
223
|
+
`NAMESPACEACCESSIBLE`
|
|
224
|
+
|
|
225
|
+
This is a sample method
|
|
226
|
+
|
|
227
|
+
**Custom Tag**
|
|
228
|
+
|
|
229
|
+
**Another Custom Tag**
|
|
230
|
+
|
|
231
|
+
### Signature
|
|
232
|
+
```apex
|
|
233
|
+
public String sampleMethod()
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Returns
|
|
237
|
+
**String**
|
|
238
|
+
|
|
239
|
+
Some return value
|
|
240
|
+
|
|
241
|
+
### Throws
|
|
242
|
+
[ns.SampleException](./ns.SampleException.md): This is a sample exception
|
|
243
|
+
|
|
244
|
+
AnotherSampleException: This is another sample exception
|
|
245
|
+
|
|
246
|
+
```mermaid
|
|
247
|
+
graph TD
|
|
248
|
+
A[SampleInterface] -->|extends| B[ParentInterface]
|
|
249
|
+
B -->|extends| C[GrandParentInterface]
|
|
250
|
+
C -->|extends| D[GreatGrandParentInterface]
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Example
|
|
254
|
+
```apex
|
|
255
|
+
SampleInterface sampleInterface = new SampleInterface();
|
|
256
|
+
sampleInterface.sampleMethod();
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
### `sampleMethodWithParams(param1, param2, theEnum)`
|
|
262
|
+
|
|
263
|
+
`NAMESPACEACCESSIBLE`
|
|
264
|
+
`DEPRECATED`
|
|
265
|
+
|
|
266
|
+
This is a sample method with parameters
|
|
267
|
+
|
|
268
|
+
Sometimes it won't be possible to find a NonExistent link.
|
|
269
|
+
|
|
270
|
+
### Signature
|
|
271
|
+
```apex
|
|
272
|
+
public SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Parameters
|
|
276
|
+
| Name | Type | Description |
|
|
277
|
+
|------|------|-------------|
|
|
278
|
+
| param1 | String | This is the first parameter |
|
|
279
|
+
| param2 | Integer | This is the second parameter |
|
|
280
|
+
| theEnum | [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md) | This is an enum parameter |
|
|
281
|
+
|
|
282
|
+
### Returns
|
|
283
|
+
**[ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)**
|
|
284
|
+
|
|
285
|
+
Some return value
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
### `sampleParentMethod()`
|
|
290
|
+
|
|
291
|
+
*Inherited*
|
|
292
|
+
|
|
293
|
+
### Signature
|
|
294
|
+
```apex
|
|
295
|
+
public void sampleParentMethod()
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Returns
|
|
299
|
+
**void**
|
|
300
|
+
|
|
301
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
|
|
3
|
+
* deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
|
|
4
|
+
* @group SampleGroup
|
|
5
|
+
* @example
|
|
6
|
+
* SampleClass sample = new SampleClass();
|
|
7
|
+
* sample.doSomething();
|
|
8
|
+
*/
|
|
9
|
+
public with sharing virtual class SampleClass extends BaseClass implements SampleInterface, ParentInterface {
|
|
10
|
+
/**
|
|
11
|
+
* @description This is a sample field.
|
|
12
|
+
*/
|
|
13
|
+
private final String name;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @description This is a sample constructor.
|
|
17
|
+
*/
|
|
18
|
+
public SampleClass() {}
|
|
19
|
+
|
|
20
|
+
public SampleClass(String name) {
|
|
21
|
+
this.name = name;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @description This is a sample method.
|
|
26
|
+
* @return A string value.
|
|
27
|
+
* @example
|
|
28
|
+
* SampleClass sample = new SampleClass();
|
|
29
|
+
* sample.doSomething();
|
|
30
|
+
*/
|
|
31
|
+
@Deprecated
|
|
32
|
+
public virtual String sayHello() {
|
|
33
|
+
return 'Hello';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description This is a sample enum. This references {@link ReferencedEnum}.
|
|
3
|
+
*
|
|
4
|
+
* This description has several lines
|
|
5
|
+
* @group Sample Enums
|
|
6
|
+
* @author John Doe
|
|
7
|
+
* @date 2022-01-01
|
|
8
|
+
* @some-custom Test. I can also have a {@link ReferencedEnum} here.
|
|
9
|
+
* And it can be multiline.
|
|
10
|
+
* @see ReferencedEnum
|
|
11
|
+
* @mermaid
|
|
12
|
+
* graph TD
|
|
13
|
+
* A[SampleEnum] -->|references| B[ReferencedEnum]
|
|
14
|
+
* B -->|referenced by| A
|
|
15
|
+
*/
|
|
16
|
+
@NamespaceAccessible
|
|
17
|
+
public enum SampleEnum {
|
|
18
|
+
/**
|
|
19
|
+
* @description This is value 1
|
|
20
|
+
*/
|
|
21
|
+
VALUE1,
|
|
22
|
+
/**
|
|
23
|
+
* @description This is value 2
|
|
24
|
+
*/
|
|
25
|
+
VALUE2,
|
|
26
|
+
/**
|
|
27
|
+
* @description This is value 3
|
|
28
|
+
*/
|
|
29
|
+
VALUE3
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
public class SampleException extends Exception {}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description This is a sample interface
|
|
3
|
+
* @author John Doe
|
|
4
|
+
* @date 2020-01-01
|
|
5
|
+
* @see SampleEnum
|
|
6
|
+
* @see ReferencedEnum
|
|
7
|
+
* @mermaid
|
|
8
|
+
* graph TD
|
|
9
|
+
* A[SampleInterface] -->|extends| B[ParentInterface]
|
|
10
|
+
* B -->|extends| C[GrandParentInterface]
|
|
11
|
+
* C -->|extends| D[GreatGrandParentInterface]
|
|
12
|
+
* @example
|
|
13
|
+
* SampleInterface sampleInterface = new SampleInterface();
|
|
14
|
+
* sampleInterface.sampleMethod();
|
|
15
|
+
*/
|
|
16
|
+
@NamespaceAccessible
|
|
17
|
+
public interface SampleInterface extends ParentInterface {
|
|
18
|
+
/**
|
|
19
|
+
* @description This is a sample method
|
|
20
|
+
* @return Some return value
|
|
21
|
+
* @throws SampleException This is a sample exception
|
|
22
|
+
* @throws AnotherSampleException This is another sample exception
|
|
23
|
+
* @custom-tag This is a custom tag
|
|
24
|
+
* @another-custom-tag This is another custom tag
|
|
25
|
+
* @mermaid
|
|
26
|
+
* graph TD
|
|
27
|
+
* A[SampleInterface] -->|extends| B[ParentInterface]
|
|
28
|
+
* B -->|extends| C[GrandParentInterface]
|
|
29
|
+
* C -->|extends| D[GreatGrandParentInterface]
|
|
30
|
+
* @example
|
|
31
|
+
* SampleInterface sampleInterface = new SampleInterface();
|
|
32
|
+
* sampleInterface.sampleMethod();
|
|
33
|
+
*/
|
|
34
|
+
String sampleMethod();
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @description This is a sample method with parameters
|
|
38
|
+
* Sometimes it won't be possible to find a {@link NonExistent} link.
|
|
39
|
+
* @param param1 This is the first parameter
|
|
40
|
+
* @param param2 This is the second parameter
|
|
41
|
+
* @param theEnum This is an enum parameter
|
|
42
|
+
* @return Some return value
|
|
43
|
+
*/
|
|
44
|
+
@Deprecated
|
|
45
|
+
SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum);
|
|
46
|
+
}
|