@cparra/apexdocs 1.13.7 → 1.15.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.
Files changed (165) hide show
  1. package/README.md +55 -35
  2. package/docs/.nojekyll +0 -0
  3. package/docs/README.md +40 -0
  4. package/docs/Sample-Classes/SampleClass.md +112 -115
  5. package/docs/Sample-Classes/SampleClass2.md +112 -115
  6. package/docs/Sample-Classes/SampleClassMultipleAuthorsAndDates.md +120 -0
  7. package/docs/Sample-Interfaces/SampleInterface.md +29 -32
  8. package/docs/index.html +21 -0
  9. package/docs/index.md +48 -27
  10. package/docs/single-file/Sample-Classes/SampleClass.md +115 -0
  11. package/examples/apex/SampleClassMultipleAuthorsAndDates.cls +100 -0
  12. package/examples/config/config.json +4 -0
  13. package/examples/dir1/SampleClass.cls +96 -0
  14. package/examples/dir2/SampleInterface.cls +17 -0
  15. package/lib/AsJsDocsProcessor.d.ts +1 -1
  16. package/lib/ClassFileGeneratorHelper.d.ts +1 -1
  17. package/lib/ClassFileGeneratorHelper.test.js +1 -1
  18. package/lib/Command/Generate.d.ts +2 -0
  19. package/lib/{command → Command}/Generate.js +23 -20
  20. package/lib/{command → Command}/__test__/Generte.test.d.ts +0 -0
  21. package/lib/{command → Command}/__test__/Generte.test.js +5 -5
  22. package/lib/DocsProcessor.d.ts +1 -1
  23. package/lib/FileManager.d.ts +1 -1
  24. package/lib/MarkdownDocsProcessor.d.ts +1 -1
  25. package/lib/MarkdownDocsProcessor.js +10 -6
  26. package/lib/MarkdownHelper.d.ts +1 -1
  27. package/lib/{parser → Parser}/ClassParser.d.ts +1 -1
  28. package/lib/{parser → Parser}/ClassParser.js +3 -3
  29. package/lib/{parser → Parser}/EnumParser.d.ts +1 -1
  30. package/lib/{parser → Parser}/EnumParser.js +1 -1
  31. package/lib/{parser → Parser}/FileParser.d.ts +1 -1
  32. package/lib/{parser → Parser}/FileParser.js +0 -0
  33. package/lib/{parser → Parser}/MethodParser.d.ts +1 -1
  34. package/lib/{parser → Parser}/MethodParser.js +3 -3
  35. package/lib/{parser → Parser}/PropertyParser.d.ts +1 -1
  36. package/lib/{parser → Parser}/PropertyParser.js +1 -1
  37. package/lib/{parser → Parser}/__test__/ClassParser.test.d.ts +0 -0
  38. package/lib/{parser → Parser}/__test__/ClassParser.test.js +8 -2
  39. package/lib/{parser → Parser}/__test__/FileParser.test.d.ts +0 -0
  40. package/lib/{parser → Parser}/__test__/FileParser.test.js +0 -0
  41. package/lib/{parser → Parser}/__test__/MethodParser.test.d.ts +0 -0
  42. package/lib/{parser → Parser}/__test__/MethodParser.test.js +3 -2
  43. package/lib/{parser → Parser}/__test__/PropertyParser.test.d.ts +0 -0
  44. package/lib/{parser → Parser}/__test__/PropertyParser.test.js +0 -0
  45. package/lib/{parser → Parser}/__test__/testFileContents.d.ts +0 -0
  46. package/lib/{parser → Parser}/__test__/testFileContents.js +0 -0
  47. package/lib/application/Apexdocs.d.ts +11 -0
  48. package/lib/application/Apexdocs.js +41 -0
  49. package/lib/application/Apexdocs.js.map +1 -0
  50. package/lib/cli/generate.js +3 -3
  51. package/lib/cli/generate.js.map +1 -0
  52. package/lib/index.d.ts +1 -1
  53. package/lib/index.js +1 -1
  54. package/lib/index.js.map +1 -0
  55. package/lib/model/ApexModel.d.ts +6 -6
  56. package/lib/model/ApexModel.js +10 -10
  57. package/lib/model/file.d.ts +10 -0
  58. package/lib/model/file.js +23 -0
  59. package/lib/model/file.js.map +1 -0
  60. package/lib/model/manifest-diff.d.ts +27 -0
  61. package/lib/model/manifest-diff.js +68 -0
  62. package/lib/model/manifest-diff.js.map +1 -0
  63. package/lib/model/manifest.d.ts +22 -0
  64. package/lib/model/manifest.js +42 -0
  65. package/lib/model/manifest.js.map +1 -0
  66. package/lib/model/markdown-file.d.ts +10 -0
  67. package/lib/model/markdown-file.js +52 -0
  68. package/lib/model/markdown-file.js.map +1 -0
  69. package/lib/model/markdown-generation-util/field-declaration-util.d.ts +3 -0
  70. package/lib/model/markdown-generation-util/field-declaration-util.js +33 -0
  71. package/lib/model/markdown-generation-util/field-declaration-util.js.map +1 -0
  72. package/lib/model/markdown-generation-util/index.d.ts +3 -0
  73. package/lib/model/markdown-generation-util/index.js +9 -0
  74. package/lib/model/markdown-generation-util/index.js.map +1 -0
  75. package/lib/model/markdown-generation-util/method-declaration-util.d.ts +3 -0
  76. package/lib/model/markdown-generation-util/method-declaration-util.js +97 -0
  77. package/lib/model/markdown-generation-util/method-declaration-util.js.map +1 -0
  78. package/lib/model/markdown-generation-util/type-declaration-util.d.ts +3 -0
  79. package/lib/model/markdown-generation-util/type-declaration-util.js +25 -0
  80. package/lib/model/markdown-generation-util/type-declaration-util.js.map +1 -0
  81. package/lib/model/markdown-home-file.d.ts +11 -0
  82. package/lib/model/markdown-home-file.js +50 -0
  83. package/lib/model/markdown-home-file.js.map +1 -0
  84. package/lib/model/markdown-type-file.d.ts +17 -0
  85. package/lib/model/markdown-type-file.js +62 -0
  86. package/lib/model/markdown-type-file.js.map +1 -0
  87. package/lib/service/apex-file-reader.d.ts +13 -0
  88. package/lib/service/apex-file-reader.js +39 -0
  89. package/lib/service/apex-file-reader.js.map +1 -0
  90. package/lib/service/file-system.d.ts +12 -0
  91. package/lib/service/file-system.js +21 -0
  92. package/lib/service/file-system.js.map +1 -0
  93. package/lib/service/file-writer.d.ts +4 -0
  94. package/lib/service/file-writer.js +25 -0
  95. package/lib/service/file-writer.js.map +1 -0
  96. package/lib/service/manifest-factory.d.ts +9 -0
  97. package/lib/service/manifest-factory.js +13 -0
  98. package/lib/service/manifest-factory.js.map +1 -0
  99. package/lib/service/parser.d.ts +9 -0
  100. package/lib/service/parser.js +17 -0
  101. package/lib/service/parser.js.map +1 -0
  102. package/lib/service/walkers/class-walker.d.ts +4 -0
  103. package/lib/service/walkers/class-walker.js +32 -0
  104. package/lib/service/walkers/class-walker.js.map +1 -0
  105. package/lib/service/walkers/enum-walker.d.ts +4 -0
  106. package/lib/service/walkers/enum-walker.js +10 -0
  107. package/lib/service/walkers/enum-walker.js.map +1 -0
  108. package/lib/service/walkers/interface-walker.d.ts +4 -0
  109. package/lib/service/walkers/interface-walker.js +14 -0
  110. package/lib/service/walkers/interface-walker.js.map +1 -0
  111. package/lib/service/walkers/walker-factory.d.ts +5 -0
  112. package/lib/service/walkers/walker-factory.js +20 -0
  113. package/lib/service/walkers/walker-factory.js.map +1 -0
  114. package/lib/service/walkers/walker.d.ts +16 -0
  115. package/lib/service/walkers/walker.js +9 -0
  116. package/lib/service/walkers/walker.js.map +1 -0
  117. package/lib/{Settings.d.ts → settings.d.ts} +0 -0
  118. package/lib/{Settings.js → settings.js} +0 -0
  119. package/lib/settings.js.map +1 -0
  120. package/lib/transpiler/file-container.d.ts +6 -0
  121. package/lib/transpiler/file-container.js +15 -0
  122. package/lib/transpiler/file-container.js.map +1 -0
  123. package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +6 -0
  124. package/lib/transpiler/markdown/class-file-generatorHelper.js +17 -0
  125. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -0
  126. package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +4 -0
  127. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +10 -0
  128. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js.map +1 -0
  129. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +8 -0
  130. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +24 -0
  131. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +1 -0
  132. package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +11 -0
  133. package/lib/transpiler/markdown/markdown-transpiler-base.js +23 -0
  134. package/lib/transpiler/markdown/markdown-transpiler-base.js.map +1 -0
  135. package/lib/transpiler/processor-type-transpiler.d.ts +8 -0
  136. package/lib/transpiler/processor-type-transpiler.js +6 -0
  137. package/lib/transpiler/processor-type-transpiler.js.map +1 -0
  138. package/lib/transpiler/transpiler.d.ts +5 -0
  139. package/lib/transpiler/transpiler.js +21 -0
  140. package/lib/transpiler/transpiler.js.map +1 -0
  141. package/lib/util/logger.d.ts +18 -0
  142. package/lib/util/logger.js +32 -0
  143. package/lib/util/logger.js.map +1 -0
  144. package/package.json +5 -2
  145. package/src/AsJsDocsProcessor.ts +1 -1
  146. package/src/ClassFileGeneratorHelper.test.ts +1 -1
  147. package/src/ClassFileGeneratorHelper.ts +1 -1
  148. package/src/Command/Generate.ts +25 -21
  149. package/src/Command/__test__/Generte.test.ts +5 -5
  150. package/src/DocsProcessor.ts +1 -1
  151. package/src/FileManager.ts +1 -1
  152. package/src/MarkdownDocsProcessor.ts +12 -8
  153. package/src/MarkdownHelper.ts +1 -1
  154. package/src/Model/ApexModel.ts +10 -10
  155. package/src/Parser/ClassParser.ts +3 -3
  156. package/src/Parser/EnumParser.ts +1 -1
  157. package/src/Parser/FileParser.ts +1 -1
  158. package/src/Parser/MethodParser.ts +3 -3
  159. package/src/Parser/PropertyParser.ts +1 -1
  160. package/src/Parser/__test__/ClassParser.test.ts +8 -2
  161. package/src/Parser/__test__/MethodParser.test.ts +4 -3
  162. package/src/Parser/__test__/PropertyParser.test.ts +1 -1
  163. package/src/cli/generate.ts +3 -3
  164. package/src/index.ts +1 -1
  165. package/lib/command/Generate.d.ts +0 -2
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # ApexDocs
2
+ # ApexDocs
2
3
 
3
4
  <p align="center">
4
5
  <b>ApexDocs is a Node.js library with CLI capabilities to generate documentation for Salesforce Apex classes.</b>
@@ -8,14 +9,21 @@
8
9
 
9
10
  ## Description
10
11
 
11
- ApexDocs was built as an alternative to the [Java based ApexDoc tool](https://github.com/SalesforceFoundation/ApexDoc) originally created by Aslam Bari and later maintained by Salesforce.org, as that tool is no longer being maintained.
12
+ ApexDocs was built as an alternative to the [Java based ApexDoc tool](https://github.com/SalesforceFoundation/ApexDoc)
13
+ originally created by Aslam Bari and later maintained by Salesforce.org, as that tool is no longer being maintained.
12
14
 
13
- ApexDocs is a Node.js library built on Typescript and hosted on [npm](https://www.npmjs.com/package/@cparra/apexdocs). It offers CLI capabilities to automatically generate a set of files that fully document each one of you classes. Additionally it can be imported and consumed directly by your JavaScript code.
15
+ ApexDocs is a Node.js library built on Typescript and hosted on [npm](https://www.npmjs.com/package/@cparra/apexdocs).
16
+ It offers CLI capabilities to automatically generate a set of files that fully document each one of you classes.
17
+ Additionally, it can be imported and consumed directly by your JavaScript code.
14
18
 
15
19
  There are some key differences between ApexDocs and the Java based ApexDoc tool:
16
20
 
17
- - **Recursive file search through your module directory structure**. In an `sfdx` based project, all of your classes will be documented by specifying the top-most directory where file search should begin.
18
- - **Unopinionated documentation site generation**. Instead of creating HTML files, ApexDocs generates a Markdown (.md) file per Apex class being documented. This means you can host your files in static web hosting services that parse Markdown like Github Pages or Netlify, and use site generators like Jekyll or Gatsby. This gives you the freedom to decide how to style your site to match your needs.
21
+ - **Recursive file search through your module directory structure**. In an `sfdx` based project, all of your classes
22
+ will be documented by specifying the top-most directory where file search should begin.
23
+ - **Unopinionated documentation site generation**. Instead of creating HTML files, ApexDocs generates a Markdown (.md)
24
+ file per Apex class being documented. This means you can host your files in static web hosting services that parse
25
+ Markdown like Github Pages or Netlify, and use site generators like Jekyll or Gatsby. This gives you the freedom to
26
+ decide how to style your site to match your needs.
19
27
 
20
28
  ### Demo
21
29
 
@@ -58,19 +66,20 @@ apexdocs-generate
58
66
 
59
67
  The CLI supports the following parameters:
60
68
 
61
- | Parameter | Alias | Description | Default | Required |
62
- | ----------------- | ----- | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -------- |
63
- | --sourceDir | -s | The directory location which contains your apex .cls classes. | N/A | Yes |
64
- | --targetDir | -t | The directory location where documentation will be generated to. | `docs` | No |
65
- | --recursive | -r | Whether .cls classes will be searched for recursively in the directory provided. | `true` | No |
66
- | --scope | -p | A list of scopes to document. Values should be separated by a space, e.g --scope public private | `global namespaceaccessible public` | No |
67
- | --targetGenerator | -g | Define the static file generator for which the documents will be created. Currently supports jekyll and docsify. | `jekyll` | No |
68
- | --configPath | -c | The path to the JSON configuration file that defines the structure of the documents to generate. | N/A | No |
69
- | --group | -o | Define whether the generated files should be grouped by the @group tag on the top level classes. | `true` | No |
69
+ | Parameter | Alias | Description | Default | Required |
70
+ | ----------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------- | -------- |
71
+ | --sourceDir | -s | The directory or directories location(s) which contains your apex .cls classes. Multiple directories can be specified separated by spaces | N/A | Yes |
72
+ | --targetDir | -t | The directory location where documentation will be generated to. | `docs` | No |
73
+ | --recursive | -r | Whether .cls classes will be searched for recursively in the directory provided. | `true` | No |
74
+ | --scope | -p | A list of scopes to document. Values should be separated by a space, e.g --scope public private | `global namespaceaccessible public` | No |
75
+ | --targetGenerator | -g | Define the static file generator for which the documents will be created. Currently supports jekyll and docsify. | `jekyll` | No |
76
+ | --configPath | -c | The path to the JSON configuration file that defines the structure of the documents to generate. | N/A | No |
77
+ | --group | -o | Define whether the generated files should be grouped by the @group tag on the top level classes. | `true` | No |
70
78
 
71
79
  #### Configuration File
72
80
 
73
- You can optionally specify the path to a configuration JSON file through the `--configPath` parameter. This let's you have some additional control over the content outputs.
81
+ You can optionally specify the path to a configuration JSON file through the `--configPath` parameter. This let's you
82
+ have some additional control over the content outputs.
74
83
 
75
84
  The configuration file allows you to specify the following:
76
85
 
@@ -80,7 +89,8 @@ _Note_: Everything in the configuration file is optional. When something is not
80
89
 
81
90
  Default: None
82
91
 
83
- Allows you to specify the root directory for where the files are being generated. This can be helpful when embedding the generated docs into an existing site so that the links are generated correctly.
92
+ Allows you to specify the root directory for where the files are being generated. This can be helpful when embedding the
93
+ generated docs into an existing site so that the links are generated correctly.
84
94
 
85
95
  `defaultGroupName`
86
96
 
@@ -92,9 +102,11 @@ Defines the `@group` name to be used when a file does not specify it.
92
102
 
93
103
  Default: None
94
104
 
95
- Defines the name of the language that will be used when generating `@example` blocks. Use this when you are interested in using syntax highlighting for your project.
105
+ Defines the name of the language that will be used when generating `@example` blocks. Use this when you are interested
106
+ in using syntax highlighting for your project.
96
107
 
97
- Even though the source code material for which documentation is generated is always `Apex`, generally you will be able to use a syntax highlighter that recognizes `java` source code, so set this value to `java` in those cases.
108
+ Even though the source code material for which documentation is generated is always `Apex`, generally you will be able
109
+ to use a syntax highlighter that recognizes `java` source code, so set this value to `java` in those cases.
98
110
 
99
111
  `home` (Object)
100
112
 
@@ -104,7 +116,8 @@ Gives you control over the home page.
104
116
 
105
117
  Default: None
106
118
 
107
- Allows you to embedd custom content into your home page by using the `header` property to point to the a file which contents will be added to the top of the generated home page.
119
+ Allows you to embed custom content into your home page by using the `header` property to point to the a file which
120
+ contents will be added to the top of the generated home page.
108
121
 
109
122
  Specify the path with the content that you want to embed.
110
123
 
@@ -128,7 +141,9 @@ Whether the `@date` tag should be used to add the file's date to the page.
128
141
 
129
142
  Default: 1
130
143
 
131
- The starting H tag level for the document. Each title will use this as the starting point to generate the approaprite `<h#>` tag. For example, if set to 1, the class' file name at the top of the file will use an `<h1>` tag, the `Properties` title will be `<h2>`, each property name will be an `<h3>`, etc.
144
+ The starting H tag level for the document. Each title will use this as the starting point to generate the
145
+ appropriate `<h#>` tag. For example, if set to 1, the class' file name at the top of the file will use an `<h1>` tag,
146
+ the `Properties` title will be `<h2>`, each property name will be an `<h3>`, etc.
132
147
 
133
148
  ```
134
149
  {
@@ -150,7 +165,8 @@ The starting H tag level for the document. Each title will use this as the start
150
165
 
151
166
  If you are just interested in the documentation parsing capabilities, you can import ApexDocs into your own project.
152
167
 
153
- Use the `generate` function to create a list of `ClassModel` that includes all of the parsed information from your .cls files.
168
+ Use the `generate` function to create a list of `ClassModel` that includes all the parsed information from your .cls
169
+ files.
154
170
 
155
171
  `generate(sourceDirectory[,recursive][,scope][,outputDir])`
156
172
 
@@ -167,19 +183,20 @@ let documentedClasses = generate('src', true, ['global'], 'docs');
167
183
 
168
184
  ## Documentation Format
169
185
 
170
- ApexDocs picks up blocks of comments throughout your `.cls` files. The block must begin with `/**` and span through multiple lines, ending with `*/`.
186
+ ApexDocs picks up blocks of comments throughout your `.cls` files. The block must begin with `/**` and span through
187
+ multiple lines, ending with `*/`.
171
188
 
172
189
  ### Documenting Classes
173
190
 
174
191
  The following tags are supported on the class level:
175
192
 
176
- | Tag | Description |
177
- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
178
- | `@description` | One or more lines describing the class. |
179
- | `@see` | The name of a related class. |
180
- | `@group` | The group to which the class belongs to. |
181
- | `@author` | The author of the class. Note that this only gets added if it is explicitly defined through the configuration class that it should. |
182
- | `@date` | The date the class was created. Note that this only gets added if it is explicitly defined through the configuration class that it should. |
193
+ | Tag | Description |
194
+ | -------------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
195
+ | `@description` | One or more lines describing the class. |
196
+ | `@see` | The name of a related class. |
197
+ | `@group` | The group to which the class belongs to. |
198
+ | `@author` | The author of the class. Note that this only gets added if it is explicitly defined through the configuration class that it should. Multiple authors can be added per class. |
199
+ | `@date` | The date the class was created. Note that this only gets added if it is explicitly defined through the configuration class that it should. Multiple dates can be added per class. |
183
200
 
184
201
  **Example**
185
202
 
@@ -187,7 +204,10 @@ The following tags are supported on the class level:
187
204
  /**
188
205
  * @description This is my class description.
189
206
  */
190
- public with sharing class TestClass { }
207
+ public with sharing
208
+
209
+ class TestClass {
210
+ }
191
211
  ```
192
212
 
193
213
  ### Documenting Enums
@@ -204,7 +224,7 @@ The following tags are supported on the enum level:
204
224
  /**
205
225
  * @description This is my enum description.
206
226
  */
207
- public Enum ExampleEnum { VALUE_1, VALUE_2 }
227
+ public Enum ExampleEnum{VALUE_1,VALUE_2}
208
228
  ```
209
229
 
210
230
  ### Documenting Properties
@@ -221,7 +241,7 @@ The following tags are supported on the property level:
221
241
  /**
222
242
  * @description This is my property description.
223
243
  */
224
- public String ExampleProperty { get; set; }
244
+ public String ExampleProperty{get;set;}
225
245
  ```
226
246
 
227
247
  ### Documenting Methods and Constructors
@@ -248,13 +268,13 @@ The following tags are supported on the method level:
248
268
  * @example
249
269
  * Object result = SampleClass.call('exampleAction');
250
270
  */
251
- public static Object call(String action) {
271
+ public static Object call(String action){
252
272
  ```
253
273
 
254
274
  ### Inline linking
255
275
 
256
- Apexdocs allows you to reference other classes from anywhere in your docs, and automatically creates a link to that class
257
- file for easy navigation.
276
+ Apexdocs allows you to reference other classes from anywhere in your docs, and automatically creates a link to that
277
+ class file for easy navigation.
258
278
 
259
279
  Apexdocs recognizes 2 different syntax when linking files:
260
280
 
@@ -269,7 +289,7 @@ Apexdocs recognizes 2 different syntax when linking files:
269
289
  * @param param1 An <<ExampleClass>> instance. Can also do {@link ExampleClass}
270
290
  * @return The result of the operation.
271
291
  */
272
- public static Object class(ExampleClass param1) {
292
+ public static Object class(ExampleClass param1){
273
293
  ```
274
294
 
275
295
  ## Typescript
package/docs/.nojekyll ADDED
File without changes
package/docs/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ # Welcome to the Apex Docs documentation example.
2
+
3
+ This content will be added to the top of the home page.
4
+
1
5
  # Classes
2
6
  ## Sample Classes
3
7
 
@@ -7,3 +11,39 @@
7
11
  This is a class description.
8
12
 
9
13
 
14
+
15
+ ### [SampleClass](/Sample-Classes/SampleClass.md)
16
+
17
+
18
+ This is a class description.
19
+
20
+
21
+
22
+ ### [SampleClass2](/Sample-Classes/SampleClass2.md)
23
+
24
+
25
+ This is a class description.
26
+
27
+
28
+
29
+ ### [SampleClassMultipleAuthorsAndDates](/Sample-Classes/SampleClassMultipleAuthorsAndDates.md)
30
+
31
+
32
+ This is a class description.
33
+
34
+
35
+ ## Sample Interfaces
36
+
37
+ ### [SampleInterface](/Sample-Interfaces/SampleInterface.md)
38
+
39
+
40
+ This is an interface description.
41
+
42
+
43
+
44
+ ### [SampleInterface](/Sample-Interfaces/SampleInterface.md)
45
+
46
+
47
+ This is an interface description.
48
+
49
+
@@ -1,115 +1,112 @@
1
- ---
2
- layout: default
3
- ---
4
- # SampleClass class
5
-
6
- `NamespaceAccessible`
7
-
8
- This is a class description.
9
-
10
- ## Related
11
-
12
- [SampleInterface](../Sample-Interfaces/SampleInterface.md)
13
-
14
-
15
- [SampleClass2](../Sample-Classes/SampleClass2.md)
16
-
17
- ---
18
- ## Constructors
19
- ### `SampleClass()`
20
-
21
- `NamespaceAccessible`
22
-
23
- Constructs a SampleClass without any arguments.
24
- #### Example
25
- ```
26
- <pre>
27
- SampleClass sampleInstance = new SampleClass();
28
- ```
29
-
30
- ### `SampleClass(String argument)`
31
-
32
- `NamespaceAccessible`
33
-
34
- Constructs a SampleClass with an argument.
35
- #### Parameters
36
-
37
- | Param | Description |
38
- | ----- | ----------- |
39
- |`argument` | Some argument |
40
-
41
- ---
42
- ## Properties
43
-
44
- ### `AnotherProp` → `Decimal`
45
-
46
- `NamespaceAccessible`
47
-
48
- This is a Decimal property.
49
-
50
- ### `MyProp` → `String`
51
-
52
- `NamespaceAccessible`
53
-
54
- This is a String property.
55
-
56
- ---
57
- ## Methods
58
- ### `call()` → `void`
59
-
60
- `NamespaceAccessible`
61
-
62
- Calls the method. This methods allows you to call it.
63
-
64
- ### `testMethod(String argument)` → `String`
65
-
66
- `NamespaceAccessible`
67
-
68
- Executes commands based on the passed in argument.
69
-
70
- #### Example
71
- ```
72
- <pre>
73
- String result = SampleClass.testMethod();
74
- System.debug(result);
75
- ```
76
-
77
- ---
78
- ## Inner Classes
79
-
80
- ### SampleClass.AnotherInnerClass class
81
-
82
- Inner class belonging to SampleClass.
83
-
84
- ---
85
- #### Properties
86
-
87
- ##### `InnerProp` → `public`
88
-
89
- Description of the inner property.
90
-
91
- ---
92
- #### Methods
93
- ##### `innerMethod()` → `void`
94
-
95
- Executes from the inner class.
96
-
97
- ---
98
- ### SampleClass.InnerClass class
99
-
100
- Inner class belonging to SampleClass.
101
-
102
- ---
103
- #### Properties
104
-
105
- ##### `InnerProp` → `public`
106
-
107
- Description of the inner property.
108
-
109
- ---
110
- #### Methods
111
- ##### `innerMethod()` → `void`
112
-
113
- Executes from the inner class.
114
-
115
- ---
1
+ # SampleClass class
2
+
3
+ `NamespaceAccessible`
4
+
5
+ This is a class description.
6
+
7
+ ## Related
8
+
9
+ [SampleInterface](/Sample-Interfaces/SampleInterface.md)
10
+
11
+
12
+ [SampleClass2](/Sample-Classes/SampleClass2.md)
13
+
14
+ ---
15
+ ## Constructors
16
+ ### `SampleClass()`
17
+
18
+ `NamespaceAccessible`
19
+
20
+ Constructs a SampleClass without any arguments.
21
+ #### Example
22
+ ```
23
+ <pre>
24
+ SampleClass sampleInstance = new SampleClass();
25
+ ```
26
+
27
+ ### `SampleClass(String argument)`
28
+
29
+ `NamespaceAccessible`
30
+
31
+ Constructs a SampleClass with an argument.
32
+ #### Parameters
33
+
34
+ | Param | Description |
35
+ | ----- | ----------- |
36
+ |`argument` | Some argument |
37
+
38
+ ---
39
+ ## Properties
40
+
41
+ ### `AnotherProp` → `Decimal`
42
+
43
+ `NamespaceAccessible`
44
+
45
+ This is a Decimal property.
46
+
47
+ ### `MyProp` → `String`
48
+
49
+ `NamespaceAccessible`
50
+
51
+ This is a String property.
52
+
53
+ ---
54
+ ## Methods
55
+ ### `call()` → `void`
56
+
57
+ `NamespaceAccessible`
58
+
59
+ Calls the method. This methods allows you to call it.
60
+
61
+ ### `testMethod(String argument)` → `String`
62
+
63
+ `NamespaceAccessible`
64
+
65
+ Executes commands based on the passed in argument.
66
+
67
+ #### Example
68
+ ```
69
+ <pre>
70
+ String result = SampleClass.testMethod();
71
+ System.debug(result);
72
+ ```
73
+
74
+ ---
75
+ ## Inner Classes
76
+
77
+ ### SampleClass.AnotherInnerClass class
78
+
79
+ Inner class belonging to SampleClass.
80
+
81
+ ---
82
+ #### Properties
83
+
84
+ ##### `InnerProp` → `public`
85
+
86
+ Description of the inner property.
87
+
88
+ ---
89
+ #### Methods
90
+ ##### `innerMethod()` → `void`
91
+
92
+ Executes from the inner class.
93
+
94
+ ---
95
+ ### SampleClass.InnerClass class
96
+
97
+ Inner class belonging to SampleClass.
98
+
99
+ ---
100
+ #### Properties
101
+
102
+ ##### `InnerProp` → `public`
103
+
104
+ Description of the inner property.
105
+
106
+ ---
107
+ #### Methods
108
+ ##### `innerMethod()` → `void`
109
+
110
+ Executes from the inner class.
111
+
112
+ ---