You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When working with CodeFactory you always start with commands.
3
-
Commands are the trigger point where all CodeFactory functionality starts from.
4
-
As of this release of CodeFactory all commands are triggered from context menus on individual nodes within solution explorer. As per the name a command following a command exection pattern.
5
-
This is made up of two methods that are raised from internal events that occur within Visual Studio itself. These events are trigged when a selected solution explorers item content menu is opened.
6
-
The following explain the two methods their goal and the different type of commands that are supported in CodeFactory.
3
+
Commands are the trigger point where all CodeFactory functionality originates.
4
+
Currently all commands are triggered from context menus on individual nodes within Solution Explorer. Each command is comprised of two methods which are raised from internal events that occur within Visual Studio. These events are trigged when a selected Solution Explorer's item content menu is opened.
5
+
The following describes each of the two methods, their purpose and the different types of commands that are supported in CodeFactory.
7
6
8
7
## Command Result
9
-
Whenever a command is executed a real time data model is generated based on the type of Visual Studio object that has been selected. The data model is regenerated each time the target command is executed.
8
+
Whenever a command is executed, a real time data model is generated based on the type of Visual Studio object that has been selected. The data model is instantly regenerated behind-the-scenes each time the target command is executed.
10
9
11
10
## Enable Command
12
-
When a command is first loaded it sends the command result to the enable method on the command.
13
-
This method is called to allow the author of the command to determine if the command should be enabled to be used.
14
-
This was added to allow the author to control execution of automation.
15
-
You may only want automation to be enabled based on a target condition.
11
+
When a command is first loaded, it sends the command result to the enable method on the command.
12
+
This method is called to allow the author of the command to determine whether the command should be visible or hidden to the automation user for use.
13
+
This feature exists in order to allow automation authors to control execution of automation by hiding or showing commands on the context menu as they desire.
14
+
16
15
This is controlled by simply returning a true or false value to determine if the command should be accessible.
17
-
If enabled is true the command will show up in the context menu.
18
-
The developer in Visual Studio will then trigger the command to execute by selecting the context menu item.
16
+
If enabled is true, the command will appear inside the context menu.
17
+
The developer in Visual Studio can then trigger the command to execute by selecting the context menu item.
19
18
20
19
## Execute Command
21
-
Once the developer selects a command to be executed Visual Studio will trigger the execute method of the command itself.
22
-
Like before a real time data model is passed to the execute method.
23
-
This is where the automation process starts and whatever functionality has been assigned will executed at this time.
20
+
Once the developer selects a command to be executed, Visual Studio will run the execute method of the command itself.
21
+
Like before, a real time data model is instantly passed to the execute method.
22
+
This is when the automation process starts, and whatever functionality has been authored, will be executed at this time.
24
23
25
-
## Solution Explore Commands
26
-
CodeFactory current supports the trigger of commands from the solution explorer window in Visual Studio.
27
-
The following are the supported Solution Explorer nodes that will CodeFactory Automation.
24
+
## Solution Explorer Commands
25
+
CodeFactory current supports the trigger of commands from the Solution Explorer window within Visual Studio.
26
+
The following are the supported Solution Explorer nodes that can interact with CodeFactory automation commands:
28
27
29
-
- Solution Command - Generates a Solutiuon data model
30
-
- SolutionFolder Command - Generates a Solution Folder data model
31
-
- SolutionDocument Command - Generates a Document data model
28
+
- Solution Command - Generates a Solution data model
29
+
- SolutionFolder Command - Generates a SolutionFolder data model
30
+
- SolutionDocument Command - Generates a SolutionDocument data model
32
31
- Project Command - Generates a Project data model
33
-
-Project Folder - Generates a Project Folder data model
32
+
-ProjectFolder - Generates a ProjectFolder data model
34
33
- Document Command - Generates a Document data model
35
34
- C# Document Command - Generates a CSharpSource data model
Copy file name to clipboardExpand all lines: Docs/Introduction/Data Models/Overview.md
+34-35Lines changed: 34 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,70 +1,69 @@
1
-
# CodeFactory DataModels
2
-
The primary strength of CodeFactory is its ability to generate real time data models directly from the Visual Studio environment.
3
-
This ability makes it possible to do designtime automation when delivering software. In this section we will provide a brief overview of the data models that are generated dynamically by the CodeFactory platform. These data models are used throughout the automation process.
1
+
# CodeFactory Data Models
2
+
The primary strength of CodeFactory is its ability to generate real time data models directly from your project/solution artifacts within the Visual Studio IDE.
3
+
This ability makes it possible to do design-time automation when delivering software. In this section we will provide a brief overview of the data models that are generated dynamically by the CodeFactory platform. These data models are used throughout the automation process.
4
4
5
5
## Data Models
6
-
All data models are plain old CLR objects or POCO's for short. Each data model is implemented as an immutable data class. This approach is used since an change to the underlying data model requires a complete regeneration of the data model from the visual studio environment to make sure you have the latest version of all data.
7
-
8
-
Data model generation is either triggered during the trigger of a new automation process, or from various CodeFactory API calls that will request new copies of data models.
6
+
All data models are "plain old CLR objects" or POCO's for short. Each data model is implemented as an immutable data class. This approach is used since a change to the underlying data model requires a complete regeneration of the data model from the Visual Studio environment to make sure you have the latest version of all data. For example, making a change to a C# class object would force CodeFactory to regenerate a data model of that file/class object.
9
7
8
+
Data model generation is either triggered during the execution of a new automation process, or from various CodeFactory API calls that will request new copies of data models.
10
9
11
10
## Solution Explorer Models (Project System)
12
11
The following models are directly generated off the legacy and new project systems that are hosted by Visual Studio.
13
-
The overview of each data model is designed to provide an overview of capabilties. It will not list every single data element or function. See help docs for the full description if each data model.
12
+
The overview of each data model is designed to provide an overview of capabilties. The examples here are not complete and only reflect partial functionality for the purpose of explanation. Please see our help docs for the full description of each data model.
14
13
15
14
### Solution
16
-
Data model that represents the loaded solution. This provides the location of the solution as well as access to the projects in the solution.
15
+
Data model that represents the loaded solution. This provides the location of the solution as well as access to the projects within the solution.
17
16
18
17
### Solution Folder
19
-
Data model that represents a virtual folder that is at scope of the solution level. This provides acess to the name of the folder and the children that are hosted in this folder.
18
+
Data model that represents a virtual folder that is at scope of the solution level. This provides acess to the name of the folder and the children objects which are hosted within this folder.
20
19
21
20
### Project
22
-
Data model that represents a loaded project that is managed in the solution. this provides access to the project location and name, and access to all children objects hosted in the project.
21
+
Data model that represents a loaded project that is managed in the solution. This provides access to the project location and name, and access to all children objects hosted in the project.
23
22
24
23
### Project Reference
25
-
Data model that represents a reference to a project hosted in the solution. This provides the name of the reference and the target artifact that is being referenced.
24
+
Data model that represents a reference to a project hosted within the solution. This provides the name of the reference and the target artifact that is being referenced.
26
25
27
26
### Project Folder
28
-
The project folder model represents a folder under a target project. This will contain the path and name of the folder and the list of child objects that are managed under this project folder.
27
+
Project folder model represents a folder under a target project. This will contain the path and name of the folder and the list of child objects which are managed under this project folder.
29
28
30
29
### Document
31
-
Model that represents a file that is hosted in a project, project folder, or solution folder. This will contain the path and the name of the file. As well as access to the full contents in the document itself.
30
+
Document model represents a file which is hosted within a project, project folder, or solution folder. This will contain the path and the name of the file, as well as access to the full contents of the document itself.
32
31
33
32
### C# Source Document
34
-
The C# source document project system access as well as full access to the C# source code that is hosted in the document itself.
33
+
C# Source Document provides project system access, as well as full access to the C# source code which is hosted within the document itself.
35
34
36
35
## C# Language Models - (Source Code)
37
-
CodeFactory has access to the C# language compiler and can dynamically generate data models the represent the C#based source code.
36
+
CodeFactory has access to the C# language compiler and can dynamically generate data models that represent the C#-based source code.
38
37
CodeFactory provides direct access all the way down to member and type level data.
39
-
In addition, will give you direct access to the raw source code at the target object level.
40
-
The following are the data models that are generated whenever either accessing from source code files, or from directly referenced assemblies.
41
-
The overview of each data model is designed to provide an overview of capabilties. It will not list every single data element or function. See help docs for the full description if each data model.
38
+
In addition, CodeFactory will provide direct access to the raw source code at the target object level.
39
+
The following data models are auto-generated whenever accessing source code files or directly referenced assemblies.
40
+
The overview of each data model is designed to provide an example of capabilties and does not list every single data element or function. Please see our help docs for the full description of each data model.
42
41
43
-
### Soure Code
44
-
The source code data model provides access to all elements that were compiled from the source code document. This includes the following.
42
+
### Source Code
43
+
The Source Code model provides access to all elements that were compiled from the source code document. This includes the following:
45
44
- Namespaces
46
45
- Using Statements
47
46
- Classes
48
47
- Interfaces
49
48
- Structures
50
49
51
50
### Using Statement
52
-
Using statement provides information on target namespaces to use in the code base. This includes the following.
51
+
Using Statement model provides information on targeted namespaces to use in the code base. This includes the following:
53
52
- Namespace
54
53
- Alias
55
54
56
55
### Namespace Statement
57
-
Namespace model provides the target namespace that other c# code elements are contained in.
56
+
Namespace model provides the target namespace that other C# code elements are contained in.
58
57
59
58
### Attribute
60
-
Attribute provides a data model of the type of the attribute and the parameters that have been assigned to the attribute. This includes the following
59
+
Attribute provides a data model of the type of attribute and parameters which have been assigned to the attribute. This includes the following:
61
60
- Name
62
61
- Namespace
63
62
- Named Parameters
64
63
- Constructor Parameters
65
64
66
65
### Attribute Parameter
67
-
Data model that provides the data for a target parameter on an attribute. This includes the following.
66
+
Data model that provides the data for a target parameter on an attribute. This includes the following:
68
67
- Name (Optional)
69
68
- Parameter values
70
69
@@ -75,7 +74,7 @@ Data model that provides a target value that is assigned to an attribute paramet
75
74
Enum data model provides the definition of an enumeration and the target values of the enumeration.
76
75
77
76
### Class
78
-
The Class data model provides data on a target class hosted in source code. This will include the following.
77
+
The Class data model provides data on a target class hosted in source code. This will include the following:
79
78
- Attributes
80
79
- Name
81
80
- Namespace
@@ -85,7 +84,7 @@ The Class data model provides data on a target class hosted in source code. This
85
84
- Members (Events, Fields, Methods, Properties)
86
85
87
86
### Interface
88
-
The Interface data model provides data on the target interface definition in source code. This will include the following.
87
+
The Interface data model provides data on the target interface definition in source code. This will include the following:
89
88
- Attributes
90
89
- Name
91
90
- Namespace
@@ -96,7 +95,7 @@ The Interface data model provides data on the target interface definition in sou
96
95
97
96
98
97
### Structure
99
-
The structure data model provides data on the target structure definition in source code. This will include the following.
98
+
The Structure data model provides data on the target structure definition in source code. This will include the following:
100
99
- Attributes
101
100
- Name
102
101
- Namespace
@@ -106,14 +105,14 @@ The structure data model provides data on the target structure definition in sou
106
105
- Members (Events, Fields, Methods, Properties)
107
106
108
107
### Delegate
109
-
The delegate model provides data on the definition of a delegate in source code. This will include the following.
108
+
The Delegate model provides data on the definition of a delegate in source code. This will include the following:
110
109
- Name
111
110
- Namespace
112
111
- Parameters
113
112
- Return type
114
113
115
114
### Event
116
-
The event data model provides data on the definition of an event in source code. This will include the following.
115
+
The Event data model provides data on the definition of an event in source code. This will include the following:
117
116
- Attributes
118
117
- Name
119
118
- Type
@@ -122,7 +121,7 @@ The event data model provides data on the definition of an event in source code.
122
121
- EventHandlerMethod Definition
123
122
124
123
### Field
125
-
The field data model provides data on the definition of a field in source code. This will include the following.
124
+
The Field data model provides data on the definition of a field in source code. This will include the following:
126
125
127
126
- Attributes
128
127
- Name
@@ -132,7 +131,7 @@ The field data model provides data on the definition of a field in source code.
132
131
- Assigned value
133
132
134
133
### Method
135
-
The method data model provides data on the definition of a method in source code. This will include the following.
134
+
The Method data model provides data on the definition of a method in source code. This will include the following:
136
135
- Attributes
137
136
- Name
138
137
- Security Scope
@@ -142,26 +141,26 @@ The method data model provides data on the definition of a method in source code
142
141
- Method Type
143
142
144
143
### Property
145
-
The property data model provides data on the definition of a property in source code. This will include the following.
144
+
The Property data model provides data on the definition of a property in source code. This will include the following:
146
145
- Attributes
147
146
- Name
148
147
- Type
149
-
-Propery Security
148
+
-Property Security
150
149
- Keywords
151
150
- Has Get
152
151
- Get Security
153
152
- Has Set
154
153
- Set Security
155
154
156
155
### Parameter
157
-
The Parameter data model provides data on the definition of a parameter in a method or a delegate. This will include the following.
156
+
The Parameter data model provides data on the definition of a parameter in a method or a delegate. This will include the following:
158
157
- Attributes
159
158
- Name
160
159
- Keywords
161
160
- Default value
162
161
163
162
### Type
164
-
The type datamodel provides information about a type that is used in all the above source code definition. This will include the following.
163
+
The Type data model provides information about a type that is used in all the above source code definitions. This will include the following:
0 commit comments