Skip to content

Commit 859e888

Browse files
committed
Merge branch 'Docs' of https://github.com/CodeFactoryLLC/CodeFactory into Docs
2 parents 36e2b4e + b23a280 commit 859e888

File tree

5 files changed

+121
-126
lines changed

5 files changed

+121
-126
lines changed
Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
# CodeFactory Commands
22
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.
76

87
## 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.
109

1110
## 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+
1615
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.
1918

2019
## 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.
2423

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:
2827

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
3231
- Project Command - Generates a Project data model
33-
- Project Folder - Generates a Project Folder data model
32+
- ProjectFolder - Generates a ProjectFolder data model
3433
- Document Command - Generates a Document data model
3534
- C# Document Command - Generates a CSharpSource data model

Docs/Introduction/Data Models/Overview.md

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff 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 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.
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.
44

55
## 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.
97

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.
109

1110
## Solution Explorer Models (Project System)
1211
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.
1413

1514
### 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.
1716

1817
### 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.
2019

2120
### 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.
2322

2423
### 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.
2625

2726
### 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.
2928

3029
### 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.
3231

3332
### 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.
3534

3635
## 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.
3837
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.
4241

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:
4544
- Namespaces
4645
- Using Statements
4746
- Classes
4847
- Interfaces
4948
- Structures
5049

5150
### 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:
5352
- Namespace
5453
- Alias
5554

5655
### 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.
5857

5958
### 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:
6160
- Name
6261
- Namespace
6362
- Named Parameters
6463
- Constructor Parameters
6564

6665
### 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:
6867
- Name (Optional)
6968
- Parameter values
7069

@@ -75,7 +74,7 @@ Data model that provides a target value that is assigned to an attribute paramet
7574
Enum data model provides the definition of an enumeration and the target values of the enumeration.
7675

7776
### 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:
7978
- Attributes
8079
- Name
8180
- Namespace
@@ -85,7 +84,7 @@ The Class data model provides data on a target class hosted in source code. This
8584
- Members (Events, Fields, Methods, Properties)
8685

8786
### 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:
8988
- Attributes
9089
- Name
9190
- Namespace
@@ -96,7 +95,7 @@ The Interface data model provides data on the target interface definition in sou
9695

9796

9897
### 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:
10099
- Attributes
101100
- Name
102101
- Namespace
@@ -106,14 +105,14 @@ The structure data model provides data on the target structure definition in sou
106105
- Members (Events, Fields, Methods, Properties)
107106

108107
### 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:
110109
- Name
111110
- Namespace
112111
- Parameters
113112
- Return type
114113

115114
### 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:
117116
- Attributes
118117
- Name
119118
- Type
@@ -122,7 +121,7 @@ The event data model provides data on the definition of an event in source code.
122121
- EventHandlerMethod Definition
123122

124123
### 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:
126125

127126
- Attributes
128127
- Name
@@ -132,7 +131,7 @@ The field data model provides data on the definition of a field in source code.
132131
- Assigned value
133132

134133
### 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:
136135
- Attributes
137136
- Name
138137
- Security Scope
@@ -142,26 +141,26 @@ The method data model provides data on the definition of a method in source code
142141
- Method Type
143142

144143
### 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:
146145
- Attributes
147146
- Name
148147
- Type
149-
- Propery Security
148+
- Property Security
150149
- Keywords
151150
- Has Get
152151
- Get Security
153152
- Has Set
154153
- Set Security
155154

156155
### 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:
158157
- Attributes
159158
- Name
160159
- Keywords
161160
- Default value
162161

163162
### 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:
165164
- Name
166165
- Namespace
167166
- IsValueType

0 commit comments

Comments
 (0)