Fadd
Checks if a primitive type is between min and max.
Language file items:
ItemNameLanguage textBetween'{0}' must be between {1} and {2}.BetweenString'{0}' may only have {1} up to {2} letters.BetweenStringLength'{0}' must be {1} letters long.
Base class for all Fadd validation attributes.
Each validation class should document what their language entries should say, and their names.
This should be done in the remarks section using a table list, example:
ItemNameLanguage textValidateLetters'{0}' may only contain letters.ValidateLettersExtra'{0}' may only contain letters and one of the following characters: {1}
It's recommended that the item names (or terms in the table above) equals the validation class name.
i.e. ValidateEmailAttributes adds a language item called "Email".
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
Check's whether a value is empty or not.
value to check.
true if the value is empty.
Check's whether a value is empty or not.
value to check.
value is considered to be not specified if the value matches this parameter
true if the value is empty.
Initializes a new instance of the class.
Value must be equal to this or larger.
Value must be equal or less than this.
Thrown if the max value is more than the min value
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Thrown if an unsupported object value is supplied
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
Min value
Max value
Tests it.
My arg.
The value.
Tests it.
My arg.
The value.
Does the this.
Modify the id of the testobject
Tests it.
My arg.
The value.
Tests it.
My arg.
The value.
Does the this.
Modify the id of the testobject
This class creates a command channel which can be used to send a command to a remote end point.
Try to use this port if it's not occupied.
Initializes a new instance of the class.
Dispatcher used to invoke commands comming through the channel.
Initializes a new instance of the class.
Dispatcher used to invoke commands comming through the channel.
Socket used to transport commands.
Initializes a new instance of the class.
Dispatcher used to invoke commands comming through the channel.
Channel used to tranport commands.
Releases unmanaged resources and performs other cleanup operations before the
is reclaimed by garbage collection.
Send unhandled commands through the tunnel.
Off by defualt.
Handle commands tagged with the interface.
Off by default.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
2
Connect to other side.
Close command tunnel
Stops this instance.
Invoked when client disconnects
True if socket should auto reconnect connection is closed due to any network error.
Parse 'AND'
Tokens are used to parse a specific part of the text.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Should be called in to let the Token parse all children.
The containing the data to parse.
that is being built..
true if a child have been matched and parsed.Are called from .
Should be called in to let the Token parse all children.
The containing the data to parse.
that is being built..
true if a child have been matched and parsed.Are called from .
Used to check if another child got a match
used to read data.
being built.
that should not be included in the check.
true if a child matches the current position in the
Add a possible child token.
The token.
Get parent token
This token is the final child in the current leaf, parse no more children
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Used to parse SQL conditions
Chars interpreted as white spaces: NewLine,LineFeed,Tab,Space
Initializes a new instance of the class.
Setup all tokens
Parse the tree
Text to parse.
a parsed tree
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Not equal condition
Base class for all objects that are used to build a tree.
Adds the specified child.
The child.
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
2
String representation of the token
Also include all children in the output
Returns a human friendly string
Used to determine the kind of this token
Gets or sets the parent.
The parent.
Last added child in the current node.
Gets the items.
The items.
Get one of the children
zero-based index.
Depth in parse tree.
Number of children.
Used to identify conditions (used by Property to see it the text is a property or something else)
Condition string
" != "
Used to determine the kind of this token
Conditional representation.
Used to determine the kind of this token
= or ==
Equal condition as string
" == "
Used to determine the kind of this token
We are getting into a sub context (nested conditions)
Used to determine the kind of this token
Parse a OR token
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Used to parse SQL conditions
New Line, Line Feed, Tab and Space.
Initializes a new instance of the class.
Setup all tokens
Parse the tree
Text to parse.
a parsed tree
Arguments for
Initializes a new instance of the class.
Plugin assembly information.
Evidence that the plugin should be loaded with.
Plugin assembly information
Called when an assembly is about to be loaded and we need the evidence for it.
Specify the evidence by using
PluginManager
Assembly information
This node is returned instead of null.
Contains language translations used to create multilingual applications
The LanguageNode provides a base class for different implementations of a hierachial language structure
Contains language translations used to create multilingual applications
The ILanguageNode provides a base class for different implementations of a hierachial language structure
Get a text string in the specified language.
Language to fetch from.
name of text to find.
string if found; otherwise null.
Get a text string in the specified language.
Language to fetch from.
name of text to find.
check for paths in .
string if found; otherwise null.
Gets a sub category
The category name
if found; otherwise null.If name is null
Number of translated texts in the specified language.
Language to get text from.
Number of text items
Determine if the node contains a text item with the specified name (for the current lcid)
True if the node contains a language element with the specified name for the current language
Determine if the node contains a text item with the specified name for the specified language
True if the node contains a language element with the specified name for the specified language
Determine if a category contains a specific language.
Language to get text from.
true if the specified language contains the text string; false if not.
Checks if current language contains a child node with the specified name.
Name of child node
true if found; otherwise false.Empties all saved values in the node and its sub nodes
Gets the parent language node.
null if no parent node exists.
Gets the mother of all nodes.
Root node will return itself.
Gets the number of languages (and not the number of text items).
Gets the name of this node.
Gets language to use if the requested language is not found.
Gets a localized text string in the current language.
Phrase to find, can also contain a path.
text if found; [textName] if not.
lang["Name"] // => "Name"
lang["/Users/View/Name"] // => "Name"
lang["Naem"] // => "[Naem]" since it's missing
Gets a localized text string in the specified language.
Phrase to find, can also contain a path.
Get translation from this language.
text if found; [textName] if not.
lang["Name"] // => "Name"
lang["Name"] // => "Name"
lang["Naem"] // => "[Naem]" since it's missing
An empty language node (used instead of null).
Initializes a new instance of the class.
The default LCID.
Get a text string in the specified language.
Language to fetch from.
name of text to find.
string if found; otherwise null.
Get a text string in the specified language.
Language to fetch from.
name of text to find.
check for paths in .
string if found; otherwise null.
Number of translated texts in the specified language
Determine if the node contains a text item with the specified name (for the current lcid)
True if the node contains a language element with the specified name for the current language
Determine if the node contains a text item with the specified name for the specified language
True if the node contains a language element with the specified name for the specified language
Determine if a category contains a specific language.
Checks if current language contains a child node with the specified name.
Name of child node
true if found; otherwise false.Empties all saved values in the node and its sub nodes
Gets a sub category
The category name
if found; otherwise null.
If name is null
Checks paths that are specified in text names
For instance /user/show/firstname
language to check in
string if language contains a path, otherwise null.
Add a localized text string.
locale
Name identifying the string. Used to fetch the string later on.
Localized string
Sets a localized text string. If the a string with the specified name exists it will be overwritten.
locale
Name identifying the string. Used to fetch the string later on.
Localized string
Adds a sub category
Name of the sub category
If a category with the specified name already existsIf name is null
Value that should be returned if the text is not found.
Set default locale
Locale to set.
All child nodes.
Parent language category
Mother of all nodes.
Get a localized text string in the current language.
Phrase to find.
text if found; [textName] if not.
lang["Name"] // => "Name"
lang["Naem"] // => "[Naem]" since it's missing
Get a localized text string
Phrase to find.
text if found; [textName] if not.
lang["Name"] // => "Name"
lang["Naem"] // => "[Naem]" since it's missing
Number languages
Returns the name of the node
LCID to use if the specified or current LCID is not found.
Initializes a new instance of the class.
The default LCID.
Add a localized text string.
locale
Name identifying the string. Used to fetch the string later on.
Localized string
Sets a localized text string. If the a string with the specified name exists it will be overwritten.
Name identifying the string. Used to fetch the string later on.
locale
Localized string
Adds a sub category
Name of the sub category
If a category with the specified name already existsIf name is null
Get a text string in the specified language.
Language to fetch from.
name of text to find.
string if found; otherwise null.
Get a text string in the specified language.
Language to fetch from.
name of text to find.
check for paths in .
string if found; otherwise null.
Number of translated texts in the specified language
Determine if the node contains a text item with the specified name for the specified language
True if the node contains a language element with the specified name for the specified language
Determine if a category contains a specific language.
Empties all saved values in the node and its sub nodes
Get a localized text string in the current language.
Phrase to find.
text if found; [textName] if not.
lang["Name"] // => "Name"
lang["Naem"] // => "[Naem]" since it's missing
Get a localized text string
Phrase to find.
text if found; [textName] if not.
lang["Name"] // => "Name"
lang["Naem"] // => "[Naem]" since it's missing
Number languages
This is a bit more advanced command pattern. The regular command pattern
ties the command to the the class that handles the command. This
pattern removes that binding and makes the commands independent of
the logic that executes it.
The pattern also allows multiple handlers for each command, and you
can also add handlers for unhandled commands.
// Map a handler to a command:
distlight.Add(typeof(MyCommand), OnMyCommand);
// invoke my command:
if (!distlight.Invoke(new MyCommand(myUserId)))
Console.WriteLine("No one handled the command!");
Add a command handler.
Must be a class, an attribute.
handler handling the command
If handler have been added to that type already.
Program.Commands.Add(typeof(MyCommand), OnMyCommand);
Remove a command handler.
type to remove
delegated that was mapped to the type.
Invoke a command.
command to invoke.
Handled that should not be invoked.
true if command was handled.
Invoke a command.
command to invoke.
true if command was handled.
Invoke a command.
object that is invoking the command.
command to invoke.
Handled that should not be invoked.
true if command was handled.
Invoke a command.
object that is invoking the command.
command to invoke.
true if command was handled.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
Handler that should not receive the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
object that is invoking the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
object that is invoking the command.
Handler that should not receive the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke this method when the command is complete, or if you want to wait
on the command.
Tells us if we have a handler for the specified type.
Type to check
True if a handler have been registered otherwise false.
Handler for unhandled commands.
returning true will make the command look like it was handled
Design by contract validator
"{0} must be specified."
"'{0}' do not equal '{1}'."
"'{0}' must be between {1} and {2}."
"'{0}' must be between {1} and {2} characters."
"'{0}' must be larger or equal to {1}."
"'{0}' must be larger or equal to {1}."
"'{0}' must evaluate as true.
"'{0}' must evaluate as false.
"'{0}' must be less or equal to {1}."
"'{0}' must be less or equal to {1}."
"'{0}' must be specified and not empty."
"'{1}' must be assignable from {0}."
Contains language information
The specified statement/parameter must be true.
statement/parameter to evaluate.
Name of the message or param.
If statement is not true.
The specified statement/parameter must be false.
statement/parameter to evaluate.
Name of the message or param.
If statement is true.
Two values can't be equal.
value/constant to compare to.
parameter value.
parameter name, or a error message.
If contract fails. and are both required.
Value must be between (or equal) min and max
minimum value.
maximum value.
parameter value.
parameter name, or a error message.
If contract fails.
Betweens the specified min.
minimum value.
maximum value.
parameter value to check. May not be null.
parameter name, or a error message.
If contract fails.
Betweens the specified min.
minimum value.
maximum value.
parameter value.
parameter name, or a error message.
may be null if this parameter is false.
If contract fails.
Checks if the value is equal or larger.
minimum value.
parameter value.
parameter name, or a error message.
If contract fails.
Checks if the value is equal or larger.
minimum value.
parameter value.
parameter name, or a error message.
If contract fails.
Checks if the value is equal or larger.
minimum value.
parameter value.
parameter name, or a error message.
If contract fails.
Checks if the value is equal or larger.
minimum value.
parameter value (may not be null).
parameter name, or a error message.
If contract fails.
Checks if the value is equal or larger.
minimum value.
parameter value.
parameter name, or a error message.
may be null if this parameter is false.
If contract fails.
Checks if the value is less or equal.
maximum value.
parameter value.
parameter name, or a error message.
If contract fails.
Checks if the value is less or equal.
maximum value.
parameter value.
parameter name, or a error message.
If contract fails.
Checks if the value is less or equal.
maximum value.
parameter value.
parameter name, or a error message.
may be null if this parameter is false.
If contract fails.
Checks if the value is less or equal.
max value.
parameter value.
parameter name, or a error message.
If contract fails.
Parameter is required (may not be null).
parameter value.
parameter name, or a error message.
If contract fails.
The specified string may not be null or empty.
parameter value.
parameter name, or a error message.
If contract fails.
Check if the specified type can be assigned from the parameter type.
Type that the parameter must be (or derive/implement).
instance
error message or parameter name
Contains language information
Language may only be specified once.
If language have been previously specified.
Exception thrown when a validation fails.
Initializes a new instance of the class.
The original error message (have not been formatted).
Formatted message.
Message arguments.
Initializes a new instance of the class.
The original error message (have not been formatted).
Formatted message.
Unformatted error message, {0} have not been replaced with parameter name.
Can be used if you want to translate messages.
Arguments to string to format. First argument is parameter name.
Contains a value in a condition.
Used to identify conditions (used by Property to see it the text is a property or something else)
Initializes a new instance of the class.
Property that this value belongs to.
Returns SQL
@[propertyName]
Identifier for this token.
Property that this token belongs to.
Name of the parameter.
>
Returns SQL
" > "
Used to determine the kind of this token
'AND' SQL token
SQL 'AND' text
" AND "
Used to determine the kind of this token
Parse >=
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
An IN token.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parses a condition string and compares it to an item
This class is NOT threadsafe.
Initializes a new instance of the class.
Conditions, should look like: "Age >= ? AND FirstName == ?".
Parameters used in the condition, for instance 17 and Jonas in the example above.
Evaluator = new Evaluator("FirstName = ? AND Age = ?", "Adam", 10});
Initializes a new instance of the class.
First index is conditions, the rest is parameters.
Evaluator = new Evaluator(new object[]{"FirstName = ?", "Adam"});
Evaluates an instance.
The instance.
Go through a list and find all items.
Evaluate all tokens in the same level.
Token should be a property name.
Will take three of the tokens (property CONDITION target) and evaluate them.
If values can't be casted to property type
User used during testing.
Gets or sets the first name.
The first name.
Gets or sets the last name.
The last name.
Gets or sets the age.
The age.
Gets or sets the status.
The status.
Class to subscribe to change events on a file and update a language hierarchy every time the file changes.
If the file being watched is deleted or renamed no more changes will be made to the language node.
Also be observant on the fact that the class cannot Remove entries from a , only add or modify entries.
This restriction is needed because a single YamlWatcher only watches One file and a can be connected to several
watchers and files, deleting anything could clear things for another file.
Loads and watches language files on disk.
Future version can watch different file types, and load them using different loaders.
Load and watch another file on disk.
Relative or absolute path to language file.
Node that have been loaded.
Parse YAML contents and add any language nodes to the watchers language
YAML contents
The name of the node to add the contents into
Node that have been loaded.
Root language node.
files that need to be reloaded
A timer to use as delay if the file is currently in use
Instantiates the class to listen to changes in a file, also reads the file and fills the language node with language entries
Language node to fill
The filename to watch
Thrown if the specified file does not exist
Load and watch another file on disk.
Relative or absolute path to language file.
Node that have been loaded.
Parse YAML contents and add any language nodes to the watchers language
YAML contents
The name of the node to add the contents into
Node that have been loaded.
Callback for when the file should be read again
Sets the class to watch the specified file
Callback for when the file changes
Private loading of file to wrap read failure control
Fill the root node with languages and categories from the specified file
Full file path
The root node to fill
Function to stop the watcher
Root language node.
Provides a general view of the model needed for saving migration data in the database
The model and mapping must be specified explicitly by the migration user since tables most oftenly
should match a certain coding convention. Explicitly declaring the model also allows for saving
extra version data.
Gets or sets the version number of the migrationGets or sets the date and time for when the database was updated to the migration version
Main exception in the data layer.
Initializes a new instance of the class.
Error message.
Inner exception.
Initializes a new instance of the class.
Error message.
Initializes a new instance of the class.
SQL query that failed
Error message.
Initializes a new instance of the class.
SQL query that failed
Error message.
Inner exception.
SQL query that failed.
Checks whether a field have been specified or not.
Language file items:
ItemNameLanguage textAlphaNumeric'{0}' may only contain alpha numeric letters.
Initializes a new instance of the class.
Initializes a new instance of the class.
value is considered to be not specified if the value matches this parameter.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Determines if the validation support the specified type.
Property/Value type.
true if type is supported.
Used when validation objects are generated.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Validates that a string property represents valid Hex value (Value should not either too large or too small for an Int64).
Name of the language item for this validation.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Thrown if the value supplied is not a
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
Used when validation objects are generated.
Contains all validations for a certain type of object.
true if we should save a list with all generated validators, or generate new ones each time.
Create a new validation object.
Type of object to validate
Validate a specific property.
Instance to validate
Name of property
A list with all validations that failed. Or an empty list of no validations failed.
Validate a specific property.
An application specific context that's passed to all validation attributes. Useful if you've implemented your own validations.
Instance to validate
Name of property
A list with all validations that failed. Or an empty list of no validations failed.
Validate a specific property.
Instance to validate
Name of property
List to fill with validation errors, must not be null.
Validate a specific property.
An application specific context that's passed to all validation attributes. Useful if you've implemented your own validations.
Instance to validate
Name of property
List to fill with validation errors, must not be null.
Validate all properties in the object.
Instance to validate
A list with validation errors, or an empty list of all validations succeeded.
Validate all properties in the object.
An application specific context that's passed to all validation attributes. Useful if you've implemented your own validations.
Instance to validate
A list with validation errors, or an empty list of all validations succeeded.
Type that this validator is for.
Used to be able to provide context to validation classes during validation.
Initializes a new instance of the class.
Attribute that is going to be validated.
Attribute about to be used for validation.
Context that should be passed to the validation class.
Contains user information about a plugin.
Should be returned in the current language.
Name of the plugin, it should be in the local language if possible.
Description of what the plugin does. Shown to the end user.
The description may contain links to other pages and images.
Just make sure that your controller can handle them.
Links should be opened in new windows and not leave the market place.
Author homepage
Copyright owner of this plugin.
Contains translation texts that have been loaded into memory
int is LCID, NameValueCollection contains all phrases.
Instantiates a LanguageNode that holds the language data in memory
The defualt language code
The name of the node
Get a text string in the specified language.
Language to fetch from.
name of text to find.
string if found; otherwise null.
Get a text string in the specified language.
Language to fetch from.
name of text to find.
check for paths in .
string if found; otherwise null.
Adds a text entry to the language node
Name of the entry
Language of the entry
The text of the entry
Sets a localized text string. If the a string with the specified name exists it will be overwritten.
Name identifying the string. Used to fetch the string later on.
locale
Localized string
Adds a sub category
Name of the sub category
If a category with the specified name already existsIf name is null
Returns number of text entries in the requested language
The language to examine
Determine if the node contains a text item with the specified name for the specified language
True if the node contains a language element with the specified name for the specified language
Determine if a category contains a specific language.
Empties all saved values in the node and its subnodesReturns the requested entry using the systems current language
Name of the entry to retrieve
The entry or if not found in the current language, default language or in parent nodes returns [textName]
A requested text entry in the requested language
Name of the entry to retrieve
Language code for the language to retrieve the text in
The entry or if not found in the current language, default language or in parent nodes returns [textName]
Returns the number of languages in the node
Returns the number of languages and Not text entries
A command that will be invoked
Set handled state.
true if the command have been handled.
Can be used to determine if another
handler already have processed the command.
Initializes a new instance of the class.
The name.
Gets or sets the name.
The name.
Initializes a new instance of the class.
The name.
Initializes a new instance of the class.
The name.
Initializes a new instance of the class.
The name.
Gets or sets the name.
The name.
Initializes a new instance of the class.
The name.
Gets or sets the name.
The name.
ORDER BY SQL Clause.
Returns SQL
" ORDER BY "
Used to determine the kind of this token
Class/Table name
Initializes a new instance of the class.
Name of class.
Returns SQL name
Table name
Used to determine the kind of this token
Name of class
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse >=
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Contains a mapping between a database table and a .Net class.
Gets column name from a property name.
Gets current primary key.
The primary key if exactly ONE is defined; otherwise null.
Gets table name.
Gets class type
Gets all mapped properties
Gets all primary keys
SQL92 column types.
One bit
Short string
floating point
Int column
DateTime / Timestamp
Date only
Time only
Bool, int(1)
Long string
Common operations for columns
Convert a column type to a .Net type
column type to convert
Class for building information strings about a proxy method
Instantiates a new object to parse and create readable data for a method
]]>
The method to generate the name for
The methods name
Joins method name together with all parameter types creating an identifying string for the method
The method to generate the name for
The method name
Retrieves the call to Type.GetMethod needed to retrieve the method
The method to retrieve
The correct name of the method to retrieve
ie. GetMethod("GetUser", new Type[]{typeof(Int32)})
Retrieves a string representation of a list putting together all the parameters passed to the method in an object array
The method for which to generate the argument array string
ie new object[]{value, argument}
Retrieves the argument list
The method to generate the argument from
A list to which the methods needed types can be added
Ie GetData(int arg1, string arg4) => Int32 arg1, String arg4
Retrieves a string representing the call to Type.GetMethods needed to retrieve the method
ie. GetMethod("GetUserName", new Type[]{typeof(Int32), typeof(String)});
Retrieves a string representation of the method return type
Retrieves the name of a method
Retrieves a signature for the method, ie _getValuesInt32String
Retrieves a string for declaring the ObjectProxy method in the form
Retrieves a list of types the method depends on
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Generic logger interface.
Used since we do not want to force everyone to use the Fadd.Logging framework.
Implement your own proxy to use your favorite logging mechanism
A dictionary mapping not only values but also sub nodes of the same
type
Instances the
Instances the with a given name that can be used to identify the map later
A unique name in a hierarchy to set for the map
Adds a value
The key to map the value to
The value to add
Thrown if a value has already been added with the given key
Updates or adds a value defined by the specified key
The key of the value to update or add
The value to set for the specified key
Removes a value specified by the given key from the
The key to remove the value for
True if a value was removed
Retrieves a child using a key
The key the child is mapped to
Null if not found
Returns true if a value mapped to the given key is contained by the map
Key the value is supposed to be mapped to
True if a key is found
Returns true if a value is mapped
The value to examine whether or not it is contained by the map
True if the value is found
Returns true if a child exists that is mapped with the given key
The key to examine child mappings for
True if a child is found
Returns true if the map contains the specified child
The map to examine whether or not it is contained
True if the map is a child of the instance
Removes a child if contained. Since the name set for the map will be used to remove the map a name must have been specified.
The map to remove
True if the child was removedIf removed the will be set to null for the map
Removes a child if contained
The key or name of the child to remove
True if the child was removedIf removed the will be set to null for the map removed
Adds a child to the using the name specified in
The map to add as a child, must have a defined se
Thrown if the map is already a child of another instance,
it must be removed from there manually before being added to avoid hiding logical errors in code
Adds a child to the using the name supplied
The map to add as a child
The name to set for the map, will override any previous name
Thrown if the map is already a child of another instance,
it must be removed from there manually before being added to avoid hiding logical errors in code
Returns an enumerator that can iterate through all the values contained by the map
Returns an enumerator that can iterate through all the values contained by the map
Sets or gets a value held by the map
Key mapping the value
Null if the value wasn't found
Retrieves all values held by the map
Retrieves all child held by the map
Retrieves the name identifying the map, is null if no name is set
Retrieves any parent to the map, is null if no parent is set
Validates that a string property is an correct email.
Language file items:
ItemNameLanguage textEmail'{0}' must be a valid email address.
Localize the error.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation support the specified type.
Property/Value type.
true if type is supported.
Used when validation objects are generated.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Thrown if the object isn't a string
Tag commands with this interface to be able to transport them through the
CommandChannel.
Copy all stuff that have been modified by the command handler.
Command to copy reply from.
This is a bit more advanced command pattern. The regular command pattern
ties the command to the the class that handles the command. This
pattern removes that binding and makes the commands independent of
the logic that executes it.
The pattern also allows multiple handlers for each command, and you
can also add handlers for unhandled commands.
// Map a handler to a command:
dispatcher.Add(typeof(MyCommand), OnMyCommand);
// invoke my command:
if (!dispatcher.Invoke(new MyCommand(myUserId)))
Console.WriteLine("No one handled the command!");
When asynchronous invokes should be removed (if have not been called.)
Attributes list used for commands that have not been mapped.
Classes/interfaces list used for command that have not been mapped.
Each command is mapped to different handlers
when the command is invoked. This is done once,
then this list is used to invoke the commands (= speed increase)
Classes/interfaces list used for command that have not been mapped.
Initializes a new instance of the class.
Create a new command manager
Parent manager, it will receive all commands that are
invoked in this instance, or just all unhandled ones.
true if all commands should be sent to the parent; otherwise just all unhandled will be sent.
Add a command handler.
Must be a class, an attribute.
handler handling the command
If handler have been added to that type already.
Program.Commands.Add(typeof(MyCommand), OnMyCommand);
Remove a command handler.
type to remove
delegated that was mapped to the type.
Invoke a command.
object that is invoking the command.
command to invoke.
Handled that should not be invoked.
true if command was handled.
Invoke a command.
command to invoke.
true if command was handled.
Invoke a command.
command to invoke.
Handled that should not be invoked.
true if command was handled.
Invoke a command.
object that is invoking the command.
command to invoke.
true if command was handled.
Invoke a command asynchronously
object that is invoking the command.
Command to invoke
Handler that should not receive the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
IAsyncResult if command was invoked successfully; otherwise null.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
object that is invoking the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
Handler that should not receive the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke this method when the command is complete, or if you want to wait
on the command.
Tells us if we have a handler for the specified type.
Type to check
True if a handler have been registered otherwise false.
A command handler have canceled a command, this event gives you a chance to
ignore that cancellation.
command that was canceled.
handler that canceled the command.
true means that we can cancel; false that we should continue
Map a command that have never been mapped.
Map a command to all handlers.
this is done to speed up the invoke process.
Event that can override the property.
Handler for unhandled commands.
returning true will make the command look like it was handled
Used to keep track of all asynchronous commands.
Gets an indication whether the asynchronous operation has completed.
true if the operation is complete; otherwise, false.
2
Gets a that is used to wait for an asynchronous operation to complete.
A that is used to wait for an asynchronous operation to complete.
2
Gets a user-defined object that qualifies or contains information about an asynchronous operation.
A user-defined object that qualifies or contains information about an asynchronous operation.
2
Gets an indication of whether the asynchronous operation completed synchronously.
true if the asynchronous operation completed synchronously; otherwise, false.
2
Corresponds to "IS NOT NULL".
" IS NOT NULL"
Used to determine the kind of this token
=
Returns SQL
" = "
Used to determine the kind of this token
Represents a comma
Conditional string
", "
Used to determine the kind of this token
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
A property name
Initializes a new instance of the class.
Name of property.
Returns name of property
name of property
Used to determine the kind of this token
Name of property
Specific exception for errors occured during xml handlingDescribes an exception occured during migration of databaseInitializes the exception with a message
The exception message describing the error occured
Initializes the exception with a message
The exception message describing the error occured
The exception triggering the throwing of this exception
Initializes the
Error message to display
Initializes the
Error message to display
Exception that brought the throwing of the xml exception
Initializes the
Error messages to display
Retrieves the error messages not prepended with readable error string
Connection helper for SQL Server.
Used
Create a new connection to the database.
An open database connection.If connection fails.
Try to get next sequence value.
A command to perform actions with, we pass commands since they might be in a transaction.
Name of the sequence/generator.
A generated value.If something failed
Gets the latest auto incremented value from the database.
A command to perform actions with, we pass commands since they might be in a transaction..
Name of the column that the auto incremented value is for.
auto incremented valueIf something failed
Modifies the SQL statement to include paging.
Database mapping
SQL statement generated by the DAL.
0 based index
number of entries per page
SQL statement with paging
helper.Paging("SELECT * FROM users", 5, 10); // --> "SELECT * FROM users LIMIT 10 OFFSET 50"
Connection string
Gets the paramter prefix
For SQL @
For MySQL ?
For Oracle :
Initializes a new instance of the class.
The connection string.
Create a new connection to the database.
An open database connection.If connection fails.
Try to get
A command to perform actions with, we pass commands since they might be in a transaction.
Name of the sequence/generator.
A generated value.If something failed SQL Server do not support sequences.
Gets the latest auto incremented value from the database.
A command to perform actions with, we pass commands since they might be in a transaction..
Name of the column that the auto incremented value is for.
auto incremented valueIf something failed
Modifies the SQL statement to include paging.
Used to generate SQL Servers wierd paging method.
SQL statement generated by the DAL.
0 based index
number of entries per page
SQL statement with paging
helper.Paging("SELECT * FROM users", 5, 10); // --> "SELECT * FROM users LIMIT 10 OFFSET 50"
Only SQL Server 2005 and above is supported.
Connection string
Gets the paramter prefix
Will return a @
Validates that a string only contains letter, digits and any of: |-_.:,;'^~¨'*!#¤%&/()=?`´+}][{€$££@§½ ]]>
Language file items:
ItemNameLanguage textAlphaNumeric'{0}' may only contain alpha numeric letters.
Input may only be letters and digits, foreign chars (for instance åäö) etc are included.
Language file items:
ItemNameLanguage textLettersAndDigits'{0}' may only contain letters and digits.LettersAndDigitsExtra'{0}' may only contain letters. digits and '{1}'.
Foreign characters (letters used for instance in the Swedish language)
Foreign characters (letters used for instance in the Swedish language) and space, dot and comma.
Space, dot and comma.
Initializes a new instance of the class.
Initializes a new instance of the class.
The extra characters.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Only strings are valid for this type.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation support the specified type.
Property/Value type.
true if type is supported.
Used when validation objects are generated.
Gets the extra characters.
The extra characters.
Initializes a new instance of the class.
Initializes a new instance of the class.
The extra characters.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Does validation using the current language.
This class is thread safe, meaning that you can have multiple threads using it at the same time.
Initializes a new instance of the class.
Node with the validation language.
Localize all error messages.
A list with validation errors.
containing language strings for the validated model.
A list with localized errors; or an empty list if no validations failed.
Validates a model and returns errors in the current language.
Current language are decided by .
An application specific context that's passed to all validation attributes. Useful if you've implemented your own validations.
Model being validated.
Language node for the model.
A collection with all validations that failed; an empty collection if not validations failed.
This dispatcher is used to be able to specify which commands that can be invoked.
A typical usage would be if you have a plugin system and you do not want to allow
all plugins to be able to execute all commands. Then you create a proxy dispatcher
and expose it to the plugins, instead of the core dispatcher which contains all command
mappings. In this way, your core system it still protected while plugins can access
a subset of it.
Initializes a new instance of the class.
Parent dispatcher (that is used by the rest of the system).
Commands that may be invoked.
Commands that may be handled.
Initializes a new instance of the class.
Parent dispatcher (that is used by the rest of the system).
No commands are allowed unless you use the event.
Add a command handler.
Must be a class, an attribute.
handler handling the command
If handler have been added to that type already.The specified command may not be handled.
Program.Commands.Add(typeof(MyCommand), OnMyCommand);
Remove a command handler.
type to remove
delegated that was mapped to the type.
Invoke a command.
object that is invoking the command.
command to invoke.
Handled that should not be invoked.
true if command was handled.
Invoke a command.
command to invoke.
true if command was handled.If you may not invoke the specified command.
Invoke a command.
command to invoke.
Handled that should not be invoked.
true if command was handled.
Invoke a command.
object that is invoking the command.
command to invoke.
true if command was handled.
Invoke a command asynchronously
object that is invoking the command.
Command to invoke
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
IAsyncResult if command was invoked successfully; otherwise null.If you may not invoke the specified command.
Invoke a command asynchronously
Command to invoke
object that is invoking the command.
Handler that should not receive the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
IAsyncResult if command was invoked successfully; otherwise null.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke a command asynchronously
Command to invoke
IAsyncResult if command was invoked successfully; otherwise null.
Handler that should not receive the command.
Callback that is invoked then the command completes.
object that you can use to identify the command in the -method.
Invoke this method when the command is complete, or if you want to wait
on the command.
Tells us if we have a handler for the specified type.
Type to check
True if a handler have been registered otherwise false.
Occurs when an unhandled exception have been caught.
This event is invoked when someone tries to add a handler for a command.
This event is invoked when someone tries to invoke a command.
Handler for unhandled commands.
returning true will make the command look like it was handled
A mapped command have been assigned all subscribers that
have been mapped to an interface, subclass, or attribute
that the command contains.
All delegates that will be invoked for this command.
Dirty means that a new handler have been added since
the command was last invoked.
This means that we need to recheck whether we got all
handlers.
Generates Object proxies.
Name the proxies with generic types to allow multiple generic types ie ListInt32Proxy and ListStringProxy.
Pretty up the use of properties a bit.
Add tests for interface hierarchies and properties.
Add support for events in interfaces.
Initializes a new instance of the class.
Dispatcher used to send events.
Generate an object proxy
Type to generate a proxy for
Compiles the proxy type declaration string that has been build
The type from which to create a proxy
The code to compile
The compiled object or null if it couldn't be created
Add all properties
Build code for a proxy class.
Type to build code for.
a complete class (in text).
Returns SQL
" < "
Used to determine the kind of this token
Contains a property value
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse a OR token
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Contains a property value
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Database transaction.
Makes it possible to save a lot of changes only
if all changes can succeed.
Base interface.
Creates a new transaction.
On of the s.
An object representing the new transaction.
Once the transaction has completed, you must explicitly commit or roll back the transaction by using the Commit or Rollback methods.
Creates a new transaction.
An object representing the new transaction.
Once the transaction has completed, you must explicitly commit or roll back the transaction by using the Commit or Rollback methods.
Get a single object.
Type of object to fetch
complete SQL statement with class/properties instead of table/columns.
parameters used in the statement.
object if found; otherwise nullIf the class/table mapping is incorrect.If data layer fails.
Executes an statement in the database.
Type of object to fetch
complete SQL statement with class/properties instead of table/columns.
parameters used in the statement.
object if found; otherwise nullIf the class/table mapping is incorrect.If data layer fails.
Get a single object.
Type of object to fetch.
Conditions (corresponds to statements in the WHERE clause).
Parameters used in the where clause.
object if found; otherwise null.If the class/table mapping is incorrect.If data layer fails.
Get a single object using its primary key
Type of object to fetch, must have a defined mapping.
Primary key value
object if found; otherwise null.If the class/table mapping is incorrect.If data layer fails.
Retrieves a collection of items.
Type of item to get.
Conditions to limit.
Parameters used in the condition.
A list of objects; or an empty list
Retrieves all items of a certain type.
Type of item to get.A list of objects; or an empty list
Gets all items defined by the .
type of items to get.
Statement specifying which elements to get.
A list of elements.
Execute a custom SQL query (Object SQL can not be used yet).
type of items to get.
SQL query.
Parameters used in the query.
A list of elements.
Save or update an object in the database (1. Checks if the PK is empty. 2. Checks if the object exists in the db).
Value to create/update.
If the class/table mapping is incorrect.If data layer fails.
Create a new object in the database.
Object to create.
If the class/table mapping is incorrect.If data layer fails.
Update an existing object.
Object to update
If the class/table mapping is incorrect.If data layer fails.
Checks if an object exists by using it's primary key.
Type of object to check
Primary key
true if object was found; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Checks if an object exists by providing it.
object to check
true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Checks if an object exists in the database
Type of object to check.
Conditions.
Arguments used in the conditions.
true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Count number of items.
Type of object to check.
Conditions.
Arguments used in the conditions.
true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Count number of items.
Type of object to check.true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Counts by SQL. Write the whole statement yourself.
The statement.
Number of returned rowsIf data layer fails.
Removes an object by using it's id property.
Type of object to remove.
Primary key value
RemoveById requires exactly one primary key.
Removes an object by using it's id property.
Type of object to remove.
Gets class that takes care of all providers.
Gets logger instance.
Cancel all changes made with the transaction.
Cancel will be called by Dispose if commit have
not been called before the transaction is disposed.
Write all changes to the database.
Contains a compiled SQL statements.
"Compiled" means that we've converted the statement from ObjectSQL
to real SQL with table and column names.
Initializes a new instance of the class.
Mapping between columns and properties
SQL statement.
Properties that have been selected. null if no properties have been specified.
Arguments used in the SQL statement..
Create a new statement with specialized SQL.
SQL string
New statement.
Gets properties that are used as arguments to the statement.
Gets SQL statement.
Gets mappings between columns and properties.
Gets properties that have been selected.
null if no properties have been specified.
A found plugin and which of the requested types that it implements.
Initializes a new instance of the class.
assembly that the plugin resides in.
plugin type.
assemblies public key. should be used to decide the amount of access for the module.
Add another type
Assemblies public key if signed.
Assembly full path
Location of DLL.
Requested types that exists in the assembly
Assembly public key in byte format.
Arguments for
Initializes a new instance of the class.
Why we were disconnected.
SocketError.Success means that we disconnected due to invalid data/packet from the remote end.
Why we were disconnected.
Called when a connection have been closed.
Socket/Tunnel/Channel
Why it was disconnected.
DELETE FROM clause
FROM SQL clause
Returns SQL
" FROM "
Used to determine the kind of this token
Returns SQL
"DELETE FROM "
Used to determine the kind of this token
Parse >=
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
An IN token.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Enumeration specifying a detail level in which to display a duration
Display duration in months and years
Display duration in days, months and years
Display duration in hours, days, months and years
Display duration in hours, days, months and years
Display duration down to the second
Interface for all localized date/time helpers.
Will try to parse the date/time using the local parser.
Will also try the default DateTime.Parse method if date is in an unknown format.
date/time string
A If the date/time format is invalid.If month/day/hour/minute/second are not within their ranges.
Will try to parse the date/time using the local parser.
Will also try the default DateTime.Parse method if date is in an unknown format.
date string (may be null/empty).
time string (may be null/empty).
A If the date/time format is invalid.If month/day/hour/minute/second are not within their ranges.
Tries to parse a date string.
Can contain a complete date or parts of it (which parts depends on the country).
A If the date format is invalid.If month/day are not within their ranges.
Tries to parse a date string.
Can contain a complete date or parts of it (which parts depends on the country).
array that parsed values are written to.
where in array to start write values
If the date format is invalid.If month/day are not within their ranges.
Tries to parse a time string.
Can contain a complete time or parts of it (which parts depends on the country).
A If the time format is invalid.If hour/minute/second are not within their ranges.
Tries to parse a time string.
Can contain a complete time or parts of it (which parts depends on the country).
array that will be filled. Must contain three slots.
Where in the array to start write values
If the time format is invalid.If hour/minute/second are not within their ranges.
Validate a date.
year value
month value
day value
true if exceptions should be thrown on incorrect values.
true if specified values are a correct date; otherwise false.
Validate
hour
minute
second
true if exceptions should be thrown on incorrect values.
true if specified values are a correct date; otherwise false.
Format a date as a string.
A date/time
Examples: "Yesterday", "On monday"
Format a date/time as a string.
A date/time
Examples: "Yesterday at 12:20pm", "On monday at 11:38am"
Get duration as a human friendly string.
Start time of duration
End time of duration
The detail in which to display the duration
Number of time units to display
A string like: 1 month, 2 weeks, and 3 days.
Get duration as a human friendly string. Displays all time unit durations.
Start time of duration
End time of duration
Get duration as a human friendly string.
The timespan for which to output the duration
The detail in which to display the duration
/// Number of time measures to display
A string like: 1 month, 2 weeks, and 3 days.
cannot be used when using this method since counting of months
requires both to and from datetime information, in such a case user
Get duration as a human friendly string. Displays all time unit durations.
The timespan for which to output the duration
Create a a transaction
Base class for database handling
Initializes a new instance of the class.
The connection helper.
Initializes a new instance of the class.
Another implementation.
Initializes a new instance of the class.
The connection helper.
Logger interface.
Get a single object.
Type of object to fetch
complete SQL statement with class/properties instead of table/columns.
parameters used in the statement.
object if found; otherwise nullIf the class/table mapping is incorrect.If data layer fails.
Gets a list of items.
Statements to get
parameters used in the statement.
A list of items.
Executes an statement in the database.
Type of object to fetch
complete SQL statement with class/properties instead of table/columns.
parameters used in the statement.
object if found; otherwise nullIf the class/table mapping is incorrect.If data layer fails.
Get a single object.
Type of object to fetch.
Conditions (corresponds to statements in the WHERE clause).
Parameters used in the where clause.
object if found; otherwise null.If the class/table mapping is incorrect.If data layer fails.
Get a single object using its primary key
Type of object to fetch, must have a defined mapping.
Primary key value
object if found; otherwise null.If the class/table mapping is incorrect.If data layer fails.
Used to assign a property with a value
Object containing the property.
Name of the property.
Value to set.
Save or update an object in the database (1. Checks if the PK is empty. 2. Checks if the object exists in the db).
Value to create/update.
If the class/table mapping is incorrect.If data layer fails.
Create a new object in the database.
Object to create.
If the class/table mapping is incorrect.If data layer fails.
Update an existing object.
Object to update
If the class/table mapping is incorrect.If data layer fails.
Update an existing object
If SQL query fails.
Checks if an object exists by using it's primary key.
Type of object to check
Primary key
true if object was found; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Checks if an object exists by providing it.
object to check
true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Checks if an object exists in the database
Type of object to check.
Conditions.
parameters used in the conditions.
true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.DataLayerException.DataLayerException.DataLayerException.
Creates a complete database command with the help of the compiled statement.
Used to create the command
Statement to execute
parameters used in the statement
A filled commandParameter count doesn't match argument count in the statement.
Creates a complete database command with the help of the compiled statement.
Used to create the command
Custom sql to execute
parameters used in the statement
A filled commandParameter count doesn't match argument count in the statement.
Retrieves a collection of items.
Type of item to get.
Conditions to limit.
Parameters used in the condition.
A list of objects; or an empty list
Retrieves all items of a certain type.
Type of item to get.A list of objects; or an empty list
Execute a custom SQL query (Object SQL can not be used yet).
type of items to get.
SQL query.
Parameters used in the query.
A list of elements.
Gets all items defined by the .
type of items to get.
Statement specifying which elements to get.
A list of elements.
Removes an object by using it's id property.
Type of object to remove.
Primary key value
RemoveById requires exactly one primary key.
Removes an object by using it's id property.
Type of object to remove.Data layer failed.
Count number of items.
Type of object to check.
Conditions.
Arguments used in the conditions.
true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Count number of items.
Type of object to check.true if object is stored in the database; otherwise false.If the class/table mapping is incorrect.If data layer fails.
Counts by SQL. Write the whole statement yourself.
The statement.
Number of returned rowsIf data layer fails.
Creates a connection, we use this method instead of the one in
the connection helper to be able to use transactions (with a single connection).
A database connection.
Create a command.
Connection used to create the command
A
Gets or sets logger instance.
Determines if we are a transaction.
Gets class that takes care of all providers.
Initializes a new instance of the class.
Initializes a new instance of the class.
Cancels all changes.
Makes all changes permanent in the database.
We are not creating a connection, but returning the one used
in the transaction.
A database connection.
Creates the command.
Creates a new transaction.
On of the s.
An object representing the new transaction.
Once the transaction has completed, you must explicitly commit or roll back the transaction by using the Commit or Rollback methods.
Creates a new transaction.
An object representing the new transaction.
Once the transaction has completed, you must explicitly commit or roll back the transaction by using the Commit or Rollback methods.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
2
Determines if we are a transaction.
Transaction is about to be committed.
Transaction have been committed.
Transaction is about to be canceled.
Transaction have been canceled.
Don't do anything since someone have already created a transaction.
Let the initial creator commit.
Don't do anything since someone have already created a transaction.
Let the initial creator commit or rollback.
To abort the transaction.
Compiles and caches SQL statements to speed up processing.
Initializes a new instance of the class.
The providers.
if set to true [cache statements].
Compiles an object SQL statement
FormatException.If mapping could not be found.
Recursive scanning after properties.
Compile an Object SQL statement and return the corresponding SQL statement.
Key used to identify this statement (if caching is turned on)
SQL statement with classes/properties instead of tables/columns.
If SQL is malformed.Failed to find mapping file.key or objectSql is null.
Goes through a token and all it's children to convert properties/classes to columns/tables.
Token to process
Mapping file used during conversion.
Get a previously compiled statement.
Key used when storing the statement.
Compiled statement if found; otherwise null.If statements are not cached.
Create a new compiled statement.
Key used to store statement for future use.
ObjectSQL that should be compiled into plain sql.
Compiled statement.
Checks whether a column is empty or not.
Add a class that determines if a certain type is empty or not.
Type to check
Object checking values.
Type have already been mapped.
Determines if an object is empty.
object to check
true if empty; otherwise false.
Implementation checking if a value is empty.
Determines if an object is empty.
object to check
true if empty; otherwise false.
Specifies a max length.
On a string it specified maximum number of letters, while on int it specifies the max number.
Language file items:
ItemNameLanguage textAlphaNumeric'{0}' may only contain alpha numeric letters.
Initializes a new instance of the class.
minimum length. should match the type being validated, with the exception of string
where the type should be int.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
Minimum length
thrown when the specified property is not found in the specified class.
Initializes a new instance of the class.
Name of the class.
Name of the property.
Specifies a max length.
On a string it specified maximum number of letters, while on int it specifies the max number.
Language file items:
ItemNameLanguage textMax'{0}' must be less or equal to {1}.MaxString'{0}' must be contain {1} or less characters.
Initializes a new instance of the class.
max length. should match the type being validated, with the exception of string
where the type should be int.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
If the specified object is not supported.
Supports basetypes and all types that implements IComparable (passing an int)
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
Max length
This class is used to receive and handle
Initializes a new instance of the class.
Dispatcher that the proxy commands will arrive on.
Called when a proxy command arrives.
Event used to retrieve an instace for a specific type.
The instance is used to invoke the requested method.
Type to instance mappings
Maps all types to object instances that are used to invoke the method calls.
Arguments for
Initializes a new instance of the class.
Type of instance wanted.
Type of instance wanted.
Instance that will be used to invoke method.
Delegate used by to find instance to invoke on.
Arguments
SELECT clause
Returns SQL
"SELECT "
Used to determine the kind of this token
Name of the property to sort by, and if the sort is ascending/descending.
Initializes a new instance of the class.
Name of the property.
if set to true sort is ascending.
Returns SQL
Order by property
Used to determine the kind of this token
Property that the order by is for
Ascending or Descending sort
Name of the property.
Parse ), which is end of sub context / nesting.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse ), which is end of subcontext / nesting.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse (, which is start of one level nesting.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Provides a mapping between properties and columns in a table.
Get a mapping between a table and a class.
Name of class, may not be full name
if found; otherwise null.
Arguments for Implementation of IPlugin
Called when a plugin have been loaded.
Plugin being loaded.
Assembly that the plugin exist in.
information about the plugin
Plugin have not been started yet.
Plugin being loaded
Assembly that the plugin exist in
information about the plugin
Invoked when a plugin have been loaded into the system.
PluginManager that loaded the plugin.
Plugin information.
This delegate is invoked when a command is about to behing invoked or added to the dispatcher.
Throw if Type may not be handled/invoked.
dispatcher that is being used.
arguments with info
Arguments for .
Initializes a new instance of the class.
Type of command (if Invoke is called) or Type to handle (if Add is called).
Type of command (if Invoke is called) or Type to handle (if Add is called).
Receives commands from the client and invoked them in the server dispatcher.
Initializes a new instance of the class.
Manager that the incoming commands are invoked in.
Starts the server.
IP address that we accept incoming connections on.
Port that the server accepts new connections on.
Stops the server.
Converts a string to a token tree.
Parses the specified stream.
Stream with text content.
Tree that will be filled with tokens.
Parses the specified text.
Text to parse.
Tree that will be filled with tokens.
When we find unsupported tokens.
Prototypes are used to
The type.
Get a string for the next chars.
Number of chars to peek.
A string with characters.
Get a string for the next chars.
Number of chars to peek
Ignore these characters before starting to count
A string with characters.
Get previous character
A Will not change the current position
Scroll back and get that char.
Number of chars back
A Will not change the current position
Peek forward on a char
Which char index (from current position) to get.
A .
Peek forward on a char
Ignore these characters before string to peek
Which char index (from current position) to get.
A .
Get next position that do not contain the specified chars.
Peek on the next character
The next characterIf trying to peek beyond last character in the string.
Peek forward
true if extensions should be thrown
if no extensions should be thrown and we are peeking beyond end of text.
Peek at the next character.
Characters that are ignored (not counted).
the next character, or if no more characters exist.
Read X number of characters
number of characters to read
A stringMoves current position forward.
Read a character
A charMoves current position forward.
Ignore all specified chars
chars to ignore
true if end of text is not hit.Moves current position forward.
Returns index of current position as a string.
All prototype tokens.
We are at end of text
Next character is the last one.
End of context.
Returns SQL
(
Used to determine the kind of this token
A IN clause.
Used to determine the kind of this token
Provides mappings between tables and classes.
Mappings are loaded using one or more different loaders. In this way
you can provide your own special way of loading mappings, or use one of
our built in loaders such as mirror loader and XmlLoader.
You can also add mappings manually by using the method.
Add a mapping.
Mapping file.
Get a mapping file.
Will go through all different loaders until of of them return a mapping.
All found mappings are cached.
class to fetch a mapping for.
if found; otherwise null.
Add a .
General usage validator class.
Check all FieldXXXXX constants to see what you need to translate.
'{0}' is not a double.
'{0}' is not a valid amount.
Uses Double validation internally
'{0}' is not a number.
'{0}' must be {1} or {2}.
'{0}' is not a valid email address.
'{0}' can only contain letters or digits.
'{0}' can only contain letters, digits and the following characters: '{1}'.
'{0}' can only contain letters, digits and any of the following characters: {1}
'{0}' is required.
Used to check if a field is false.
Text: True
'{0}' may only contain writable characters.
ascii 32-126, 128-167, 224-238.
Name of the string to display when testing hex fail
Name of string to display when testing letters fail
Name of string to display when testing letters fail
'{0}' may only contain digits
'{0}' may only contain digits and the following characters: '{1}'
'{0}' must be between '{1}' and '{2}'
'{0}' must be '{1}' or more
'{0}' must be '{1}' or less
Characters that are valid in alphanumeric fields.
SQL Safe characters (not including '")
Space character.
Regex used to validate emails.
Language manager used if no one else have been specified.
Extra characters that are allowed in passwords.
A list with all errors found.
Language translation for all "name" parameters.
Language for the validator (i.e. "Field {0} is required.")
Create a new validator.
collection to be filled with errors
Create a new validator.
collection to be filled with errors
language translation for all "name" parameters
Create a new validator.
language translation for all "name" parameters
Create a new validator
Check whether the specified field is within the limit.
field name.
max value.
value to check.
if set to true the field is required.
true if the field is within the limit
number are check to be less or equal to max. Strings are checked on the number of characters.
Check whether the specified field is within the limit.
field name.
min value.
value to check.
if set to true the field is required.
true if the field is within the limit
number are check to be less or equal to min. Strings are checked on the number of characters.
Check whether the specified field is within the limit.
field name.
min value.
max value
value to check.
if set to true the field is required.
true if the field is within the limit
number are check to be less or equal to min. Strings are checked on the number of characters.
Validate that a string only contains letters or digits.
Form parameter name.
value to validate
may not be null or empty if true.
value if valid; otherwise string.Empty
Validate that a string only contains letters, digits or the specified characters
Form parameter name.
value to validate
may not be null or empty if true.
any other allowed characters.
value if valid; otherwise string.Empty
Validate that a string only contains letters or digits or any of the .
Form parameter name.
value to validate
field may not be empty or null if true
vaue if valid; otherwise string.Empty
Check's weather a parameter is null or not.
Parameter in form
true if value is not null/empty; otherwise false.
value that cannot be null or empty.
Validate a string parameter in the form
Form parameter name.
value to validate as string.
field may not be empty or null if true.
vaue if valid; otherwise string.Empty
add default language phrases (only english)
Checks wether a string contains a specific character.
source
character to find.
true if found; otherwise false.
format an error message
string containing the formatting
name of the field that the error ocurred for.
formatted string
format an error message
string containing the formatting
name of the field that the error ocurred for.
extra value in the formatting
formatted string
format an error message
string containing the formatting
name of the field that the error ocurred for.
extra value in the formatting
third parameter in the formatting
formatted string
Check whether the specified value is an character.
Name of the parameter
Parameter value to validate
Paramater is required (adds an error if it's not specified)
value if parameter is an int; char.MinValue if not.
Check whether the specified value is an character.
Name of the parameter
Parameter value to validate
value if parameter is an int; char.MinValue if not.
Check whether the specified value is an integer.
Name of the parameter
Parameter value to validate
Paramater is required (adds an error if it's not specified)
value if parameter is an int; 0 if not.
Check whether the specified value is a double.
Name of the parameter
Parameter value to validate
Paramater is required (adds an error if it's not specified)
value if parameter is a double; 0 if not.
Check whether the specified value is a currency amount.
Name of the parameter
Parameter value to validate
Paramater is required (adds an error if it's not specified)
value if parameter is a currency amount; 0 if not.
Check whether the specified value is a double.
Name of the parameter
Parameter value to validate
Paramater is required (adds an error if it's not specified)
value if parameter is a double; 0 if not.
error string
Check whether the specified value is an integer.
Name of the parameter
Parameter value to validate
Paramater is required (adds an error if it's not specified)
value if parameter contains valid characters; string.Empty if not.ascii 32-126, 128-167, 224-238.
Check if a value is digits only
Field name.
value to validate
true if field is required (may not be empty)
string if validated, otherwise string.Empty
Check if a value is digits only
Field name.
value to validate
extra characters that is allowed.
true if field is required (may not be empty)
string if validated, otherwise string.Empty
Validates a string to consist of letters.
field name
value to validate
field is required
string if valid, string.Empty if not.
Validates a string to consist of letters plus specified characters.
The name of the parameter
The value to validate
If the value is required
A string consisting of extra allowed characters
The validated string or string.Empty if validation failed
Validates a string to be in trimmed hex letters
The name of the parameter
The value to test
If the parameter is required
The value or string.Empty if validation failed
validates email address using a regexp.
field name
value to validate
field is required (may not be null or empty).
value if validation is ok; otherwise string.Empty.
validates that a certain number is within the specified interval
field name
value to validate
The maximum value that value is allowed to be
The minimum value that value is allowed to be
field is required (may not be null or empty).
value if validation is ok; otherwise 0.
validates that a certain number is within the specified interval
field name
value to validate
The maximum value that value is allowed to be
The minimum value that value is allowed to be
field is required (may not be null or empty).
value if validation is ok; otherwise 0.
Checks whether a field contains true (can also be in native language).
field name
value to validate
field is required (may not be null or empty).
true if value is true; false if value is false or if validation failed.Check validation errors to see if error ocurred.
Set default language.
true of validation generated errors.
Collection of validation errors.
General purpose plugin finder class.
This class scans a directory after all classes that contains the specified types.
All assembly checking is done in a separate app domain, which means that no dlls are loaded
during the process.
Initializes a new instance of the class.
Finds the specified full path.
Path and wildcards.
Types wanted.
List>Type< types = new List>Type<();
types.Add(typeof(IPlayer));
types.Add(typeof(IViewer));
finder.Find("C:\\myapp\\plugins\\plugin*.dll", types);
Finds the specified full path.
Path and wildcards.
Types wanted.
List>Type< types = new List>Type<();
types.Add(typeof(IPlayer));
types.Add(typeof(IViewer));
finder.Find("C:\\myapp\\plugins\\plugin*.dll", types);
Adds the specified plugin.
The plugin.
Assembly that the plugin resides in.
Plugin interface type.
Public key, should be used to decide the amount of access for the module.
All found plugins
Packet sent through the channel. Keeps track of a command and its reply.
Initializes a new instance of the class.
The sequence number.
Command .
LIKE keyword
Conditional string
" LIKE "
Used to determine the kind of this token
Operator used for bitwise operations
Initializes a new instance of the class.
Bitwise char.
Returns SQL
The token wrapped with spaces
Used to determine the kind of this token
Parse
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
>
Used to determine the kind of this token
Parse == or =
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
An implementation of YAML that only support those things that is needed by the Language loader.
Parses a line
row in text file
where to start the parsing (initial white spaces are excluded)
line number in file
used if more lines should be read
Loads mappings from embedded XML files.
En mapping file can look like this:
]]>
class 'name' is a assembly qualified name.
generator can be 'autoincrement' (works with databases such as SQL Server or MySQL), 'sequence' (works with PostgreSQL, looks for a sequence
with the name '[tablename]_id_seq'), 'guid' (Fadd.Data generates the guid), any other values are interpreted as
a sequence name (and will be used as such depending on the database type).
Property/Id 'type' attribute is not yet used.
Will be used along with the 'length' attribute when creating/upgrading tables/columns.
Initializes a new instance of the class.
An assembly to look in.
You can add more assemblies by using
Add another assembly that mappings can be found in.
Assembly to add.
Scan after types that match the name.
name of class to scan for
A list with matches.
Get an mapping.
Name of class.
if found; otherwise null.Failed to find any attributes in the class element.
Throw during mapping exceptions.
Initializes a new instance of the class.
Error message.
Type that the mapping failed for.
Initializes a new instance of the class.
Error message.
Inner exception.
Type that the mapping failed for.
Type that the mapping failed for.
Let's you validate a string field using regular expressions.
Initializes a new instance of the class.
The value.
Name in language text to use, or a error message.
// will use the supplied text as error message if validation fails.
[ValidateRegularExpression("^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]{2,4}$", "Incorrect email")]
public string Email{get;set;}
//will use the InvalidEmail text from the language file
[ValidateRegularExpression("^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]{2,4}$", "InvalidEmail")]
public string Email{get;set;}
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation or if value is empty; otherwise false.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
Regular Expression
Arguments for A plugin implementation
Initializes a new instance of the class.
Plugin that have been started.
Plugin that have been started.
Triggered when a plugin have been started.
Plugin manager
Plugin instance
A plugin implementation
This class is responsible of loading all modules in a system.
Application interface exposed to the clients.
Initializes a new instance of the class.
Interface exposed to plugins.
Initializes a new instance of the class.
Called when a plugin assembly is about to be loaded.
Information about the assembly.
Evidence that the should be loaded with.
The assembly is used to determine which security settings a plugin should be loaded with.
Loads modules with the correct and correct protection level.
Loads all modules that can be loaded (their dependencies have been loaded.)
Call this method as long as it returns true.
Called when a plugin have been loaded.
Module being loaded.
Assembly that the plugin exist in.
information about the plugin
Plugin have not been started yet.
Manually add a plugin
Plugin to add
Used if you want to inject a known plugin to let it be loaded when all dependencies have been met.
Loads all modules
Calls start in a .
plugin to start
Triggered when all plugins have been loaded, but not started yet.
Access a loaded plugin.
plugin if found; otherwise null.
Folder in which plugins resides.
Can also contain wildcards
pluginMgr.Path = "plugins\\plugin*.dll";
All plugins that should not be loaded.
A list with all loaded plugins.
A plugin have been loaded into the system
A plugin have been started.
An plugin assembly is about to be loaded and the system needs to know which the plugin assembly should be loaded with.
Plugins are loaded into the Internet zone per default.
Called when a plugin is about to be started and we need to get the application interface
that should be used when starting the plugin.
All plugins must derive this interface.
Start the module
Application interface exposed towards the plugins.
This name is used to determine dependencies, should always be in english.
Should not be confused with the human friendly name in .
Information about the plugin.
Other plugins that this one depends on. The list should contain s.
should never be null.
Calculates the number of months and days between two dates (and add the overlapping days).
Creates a monthspan between two dates
from which date to calculate.
end date.
Number of months and days between the two dates.
Number of months
Number of days
A general code compiler used to compile objects at runtime.
This class is NOT thread safe.
Initializes a new instance of the class.
Add a type that is used in the generated object
the type
Fills name spaces and assemblies with info from the added types.
Compile the code.
C# code.
An assembly containing the compiled objectsIf compilation fails.
Create a new object of the specified type
Constructor parameters
Type of object to createobject if we could create it; otherwise null
Used to get correct names for generics.
Type to generate a strig name for.
Type as a code string
).Name; // will become: List`1
typeName = Compiler.GetTypeName(typeof(List)); // will become: System.Collections.Generic.List
]]>
Used to get correct names for generics.
Type to generate a strig name for.
true if FullName should be used (including namespace in typename)
Type as a code string
).Name; // will become: List`1
typeName = Compiler.GetTypeName(typeof(List)); // will become: System.Collections.Generic.List
]]>
Thrown if code compilation fails.
contains an item called code which contains the compiled code.
Initializes a new instance of the class.
The error message.
A list with all compiler generated errors.
Creates and returns a string representation of the current exception.
A string representation of the current exception.
A list with all compiler generated errors.
The purpose of this class is to maintain all delegates for
one of following types: attributes, interfaces and classes.
These lists are used to map all commands to their subscribers.
Add a handler
If handler have been added already.
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
2
Test object using generic types
The first value to use the type ofThe second value to use the type of
Tests it.
String format
A value to use in the string
string.Format(myArg, value, typeof(T), typeof(K))
Tests it.
String format
A value to use in the string
string.Format(myArg, value, typeof(T), typeof(K))
Retrieves a dictionary using the two specified types with some random arguments in
Does the this.
Modify the id of the testobject
Delegate used to handle commands.
that the command was invoked in.
true if command was handled.
command arguments.
Event arguments for .
Initializes a new instance of the class.
command that was invoked.
Initializes a new instance of the class.
command that was invoked.
Command is being invoked asynchrounosly.
Command that was invoked.
Abort the handled of this command.
The event can override this property.
Command is being invoked asynchrounosly.
Not equal condition
Returns SQL
" <> "
Used to determine the kind of this token
>=
Returns SQL
" >= "
Used to determine the kind of this token
Parsing a property
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
All tokens used during parsing
AND
OR
IN ( XXX )
(
)
A generated tree with all tokens from the text
Initializes a new instance of the class.
Initializes a new instance of the class.
Number of items to keep in the .
Add a new token to the tree.
Adds a child node.
Token to be added as a child.
this method will also set the token as .
todo: remove this one and fix haml
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
2
Next item is a child to the current node.
Go out of one level of nesting.
Back to root node.
Displays parse tree as a tree.
Current node
Get one of the children
Number of root items.
The node that was inserted last.
A trail with the number of previously added nodes, independent of the tree/depth.
Number of items to keep in the trail.
Specified in the constructor, default value is 3.
Root in the tree.
OR condition ("||" in C#)
OR condition as string
" || "
Used to determine the kind of this token
As the name implies the migrator uses sql specified for a certain driver to update the database.
The sql is loaded using manifest resource xml files named xxxxx.fdmig.xml (fadd data migration)
The fdmig file should look like the following
An optional description of the migration.
alter table myTable rename column myColumn to myColumnValues;
alter table myTable rename column myColumn to myColumnValues;
INSERT INTO myTable (myId, myValue) VALUES (13, '23123');
]]>
Inteface for a handler of database updating
If changes has been made the migrator should update the database accordingly
Used for saving migration data to the database
Initializes the
Assemblies to look for fdmig.xml files in
Reads all manifest files ending with fdmig.xml and creates migrations from themParses the current 'migration' element in the reader and adds its value to the collection of migrations
The reader to parse the migration from
If is nullThrow if parsing failes due to invalid data in xmlHolds information about a specific migrationSql for migration keyed by driver name (or default)
Class to provide transparent retrieval of LCID for silverlight and normal .Net projects
Gets the LCID for the current thread
Makes sure that only digits have been entered.
Language file items:
ItemNameLanguage textDigits'{0}' may only contain digits.DigitsExtra'{0}' may only contain digits and "{1}".
Name used in language files.
Initializes a new instance of the class.
Initializes a new instance of the class.
extra characters that are valid.
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is supported.
General purpose arguments class for events containing only one item.
Type of item
Initializes a new instance of the class.
The item.
Gets or sets the item.
The item.
Class to generate readable names from arbitrary types
Removes any `X from generic type names, ie Dictionary`2.
If the name lacks any `X entry ie Int32 it will simply be left untouched
The name to strip from generic parameter count
Number of arguments held
Retrieves the name of the class, ie for => Dictionary
The type to generate a name for
]]>
The type to generate a name for
Retrieves a name of the type with any generic type arguments joined with name.
The type to generate a name for
=> DictionaryInt32String.
Useful for naming ie arbitrary methods when building objects using reflection.
]]>
Retrieves the full name of a class, ie System.Collections.Generic.Dictionary
The type to return the full name for
A object binding. Used to copy properties from one object to another.
Copies the specified from.
object to copy from.
objec to copy to.
If either from or to are nullIf "to" is not assignabled from "from".
WHERE clause
Returns SQL
" WHERE "
Used to determine the kind of this token
Parse
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
>=
Used to determine the kind of this token
Parsing a property
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse >=
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse 'AND'
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Used to parse and format date/times using the current language.
todo: Copy latest documentation from IDateTimeHelper.
Add a parser.
Add default language parsers.
Will try to parse the date/time using the local parser.
Will also try the default DateTime.Parse method if date is in an unknown format.
date/time string
A If the date/time format is invalid.If month/day/hour/minute/second are not within their ranges.
Will try to parse the date/time using the local parser.
Will also try the default DateTime.Parse method if date is in an unknown format.
date string (may be null/empty).
time string (may be null/empty).
A If the date/time format is invalid.If month/day/hour/minute/second are not within their ranges.
Tries to parse a date string.
Can contain a complete date or parts of it (which parts depends on the country).
A containing the date (time is 0) if parsed successfully; otherwise .
Tries to parse a date string.
Can contain a complete date or parts of it (which parts depends on the country).
array that parsed values are written to.
where in array to start write values
true if parsed successfully; otherwise false
Tries to parse a time string.
Can contain a complete time or parts of it (which parts depends on the country).
A containing the time (date is 0) if parsed successfully; otherwise .
Tries to parse a time string.
Can contain a complete time or parts of it (which parts depends on the country).
array that will be filled. Must contain three slots.
Where in the array to start write values
true if parsed successfully; otherwise false.
Validate a date.
year value
month value
day value
true if exceptions should be thrown on incorrect values.
true if specified values are a correct date; otherwise false.
Validate
hour
minute
second
true if exceptions should be thrown on incorrect values.
true if specified values are a correct date; otherwise false.
Format a date as a string.
A date/time
Examples: "Yesterday", "On monday"
Format a date/time as a string.
A date/time
Examples: "Yesterday at 12:20pm", "On monday at 11:38am"
Get duration as a human friendly string.
Start time of duration
End time of duration
The detail in which to display the duration
Number of time units to display
A string like: 1 month, 2 weeks, and 3 days.
Get duration as a human friendly string. Displays all time unit durations.
Start time of duration
End time of duration
Get duration as a human friendly string.
The timespan for which to output the duration
The detail in which to display the duration
/// Number of time measures to display
A string like: 1 month, 2 weeks, and 3 days.
cannot be used when using this method since counting of months
requires both to and from datetime information, in such a case user
Get duration as a human friendly string. Displays all time unit durations.
The timespan for which to output the duration
Event arguments for transaction events.
Initializes a new instance of the class.
Transaction.
The connection.
Transaction that the event is for.
Connection that the transaction is being invoked in.
Main class in the data access layer.
Initializes a new instance of the class.
The connection helper.
Initializes a new instance of the class.
The connection helper.
Assign logger to everything.
Creates a connection, we use this method instead of the one in
the connection helper to be able to use transactions (with a single connection).
A database connection.Failed to create the connection.
Create a command.
Creates a new transaction.
On of the s.
An object representing the new transaction.
Once the transaction has completed, you must explicitly commit or roll back the transaction by using the Commit or Rollback methods.
Creates a new transaction.
An object representing the new transaction.
Once the transaction has completed, you must explicitly commit or roll back the transaction by using the Commit or Rollback methods.
Determines if we are a transaction.
An validation error.
Property/Argument that validation failed for.
Kind of validation that failed.
Property/Argument that validation failed for
Kind of validation that failed
Delegate used to determine if the command propagation can be cancelled.
Distlight that the command was going through.
Event information.
true of command can be cancelled.
Event arguments for .
Initializes a new instance of the class.
Command that was cancelled.
Handler that cancelled the propagation
Command that was cancelled by a handler
Handler that which to cancel the command.
Used to test inner classes.
Copy all stuff that have been modified by the command handler.
Command to copy reply from.
Transports commands in binary format.
Invoked when we have recieved a packet from the remote end.
Initializes a new instance of the class.
The socket.
Initializes a new instance of the class.
Releases unmanaged resources and performs other cleanup operations before the
is reclaimed by garbage collection.
Sends the specified value.
object to serialize and send.
Send a packet to the client.
Goes through all incoming bytes and creates a packet.
One or more calls might be required to get a complete packet.
buffer to process
where to start processing
total number of bytes in buffer.
number of bytes that are handled
Called when a object buffer have been received completely.
The buffer.
Closes this instance.
Connect to an endpoint.
Where to connect
if connection fails.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
2
true if we should reconnect when getting disconnected.
Invoked when channel is disconnected (except when are called).
Event args for
Initializes a new instance of the class.
object received from remote end.
Bytes received from remote end.
Invoked when an object have been received from the remote end.
Client that received the object.
object received.
A IN clause.
Returns SQL
" IN"
Used to determine the kind of this token
COUNT(*) SQL clause
Returns SQL
" COUNT(*) "
Used to determine the kind of this token
We are getting into a sub context (nested conditions)
Returns SQL
(
Used to determine the kind of this token
or !=
]]>
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Less tan condition
Used to determine the kind of this token
Parse
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Reads a mapping definition from an XML reader.
Initializes a new instance of the class.
Reader containing mapping XML.
Type that the mapping is for.
Read mapping.
Mapping if foundIf mapping is incorrect (syntax).
Go through property attributes
MappingException.MappingException.MappingException.
Default mapping implementation
Initializes a new instance of the class.
Type that the mapping is for.
Name of the database table.
Get a column name from a property name.
Gets current primary key.
The primary key if exactly ONE is defined; otherwise null.
Add a property mapping
Class property
Table column
Add a property mapping
Class property
Table column
True if property is a primary key.
Type of generator used.
Name of database table.
Type that the mapping is for.
Gets all properties
Gets all primary keys
Attribute to specify that a property might only contain the specified letters (does not fail if the string is null or empty)
The language node item name for the attribute, should be in the form 'Parameter {0} has invalid characters, allowed characters are {1}'
Initializes a new instance of the class.
The allowed letters
Validate value
Can be used to send a context object to the validation class. Useful if you provide your own validation classes which need to get information from your application.
value to validate
true if value passed the validation; otherwise false.
If a value not of type was supplied
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
Determines if the validation class support the specified type.
Property/Value type.
true if the type is a string
General purpose class to get/set properties by specifying their name as text.
User user = new User();
Property.Set(user, "FirstName", "Jonas"); // same as user.FirstName = "Jonas";
Property.Set(user, "CreatedAt", "2008-12-30 14:00"); // the CreatedAt property is of type DateTime, the Property class automatically converts it from string.
Property.Set(user, "Age", "20"); // age is int, which means that it will automatically be converted.
todo: Add the ability to extend the object with own additions.
Assign a property value to the specified object.
Object that has the property
Name of the property
Value, this method will try to cast incorrect types (and even try to parse certain types).
If value is not correct (i.e. null when null is not accepted etc)If assigner object could not be generated.If assigner object can't cast to the correct type.values is null and it's not allowed for the specified type.
Get a property value from the specified object.
Object that has the property
Name of the property
property valueIf value is not correct (i.e. null when null is not accepted etc)If assigner object could not be generated.If assigner object can't cast to the correct type.
Base object for property assigner.
Used to determine
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
or !=
]]>
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Tables and Classes are identical.
Since they are identical, we create a mapping which simply returns the
same values for the mapping.
Initializes a new instance of the class.
Assembly that will be scanned after mappings.
"sequence" or "autoincrement"
Specifying "sequence" means that the system will look for generators/sequences called "[tablename]_id_seq".
Gets the mapping.
Name of the class to get mapping for.
if found; otherwise null.Multiple classes found.
Add an assembly in which we can look for mappings.
An assembly
Delegate used when a unhandled exception have been caught.
Arguments for
Initializes a new instance of the class.
caught exception.
Caught exception
Copies get/set properties from one object to another.
Releases unmanaged resources and performs other cleanup operations before the
is reclaimed by garbage collection.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
2
Copies all get/set properties from one object to another.
From.
To.
Star *
SQL Star
" * "
Used to determine the kind of this token
A property name
Initializes a new instance of the class.
Name of property.
Returns SQL
column name
Used to determine the kind of this token
Name of property
OR condition ("||" in C#)
Returns SQL
" OR "
Used to determine the kind of this token
Parse (, which is start of one level nesting.
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Parse == or =
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Check if the current position is the start of this token
true if our token is the next one.
Returns &&.
" && "
Used to determine the kind of this token
Parse
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Arguments for Plugin type
Initializes a new instance of the class.
Plugin being started.
Plugin being started
Application that the plugin should be started with.
A plugin is about to be started and it needs a interface to be passed to it.
A type that implements .
Arguments.
INSERT INTO clause
returns SQL
"INSERT INTO "
Used to determine the kind of this token
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
All tokens used during parsing
AND
OR
IN ( XXX )
(
)
Query statement
Initializes a new instance of the class.
Conditions (corresponds to the WHERE clause) using property names.
Argument values used in the condition.
Initializes a new instance of the class.
Properties to sort by.
properties separated by comma, with or without ASC/DESC.
the current statementnew Statement("FirstName = ?", firstName).OrderBy("LastName DESC, FirstName")
Properties to group the statement by
Properties to group by, separated by comma.
new Statement(string.Empty).GroupBy("LastName, FirstName")
Get a certain amount of entries.
0 based index. 0 = first page, 1 = second page..
Number of entries per page.
Calculates hash code by concatenating the strings for all statement parts.
Arguments being used in .
Conditions (corresponds to the WHERE clause) using property names
Property names + ASC/DESC
Property names to group by
0 based index. 0 = first page, 1 = second page..
Number of entries per page
Database connection configuration
Assembly qualified name of the .Net driver to use.
Connection string
Connection type.
Validates a string as http(s)/ftp url.
Name of the language item for this validation.
Localize error if validation failed.
Localized field name.
Language node with all validation translations.
A localized error message if the validation failed; otherwise null.
attribute.Localize("FirstName", "'{0}' is required");
// will return "'{0}' is required" if the validation failed, else null.
Determines if the validation support the specified type.
Property/Value type.
true if type is supported.
Used when validation objects are generated.
Validate the URL
Object instance (of the object being tested).
Value to test
true if value is an URL; otherwise false.If type is not supported.
Wrapper for the class adding support for tabbing easily
");
sb.AppendLine(@");
sb.AppendLineDec("");
Would give the result:
Without having you worry about what tab indentation your on, neat!
]]>
Instances a blank
Instance the with a and a start intendation
A to append text to
Can be used to start writing with tabs using a set intendation when data has previously been written to the
with intendation.
The built string
Generated string
Changes the to contain the specified number of tab characters
Number of tab characters to set
Appends tabs followed by the specified value and a line termination to the string
The value to add
Appends tabs followed by the specified value and a line termination to the string
The value to add
Appends a empty line without tabs
Just appends plain string to the underlying without any tabs
The value to add
Appends tabs and value to the string
The value to add
Adds a new line and increases the tab indendation
");
sb.AppendLineInc();
sb.AppendLine("");
sb.AppendLineDec("");
=>
]]>
Appends tabs and value to the string after which the intendation is increased
The value to append
The tab intendation is increased after adding the value");
sb.AppendLine("Example");
Would give:
Example
]]>
Appends tabs and value to the string after which the intendation is increased
The value to append
The tab intendation is increased after adding the value");
sb.AppendLine("Example");
Would give:
Example
]]>
Decreases the intendation and appends tabs and value to the string
The value to append
The tab intendation is decreased before adding the value");
sb.AppendLine("Example");
sb.AppendLineDec("
");
Would give:
Example
]]>
Decreases the intendation and appends tabs and value to the string
The value to append
The tab intendation is decreased before adding the value");
sb.AppendLine("Example");
sb.AppendLineDec("
");
Would give:
Example
]]>
Retrieves the used by the class
Command sent by a TypeProxy
Initializes a new instance of the class.
Type of object to execute method on.
Method to call.
Argumens that should be passed to the method.
Return value from method call.
Type of object to execute method on.
Method to call.
Argumens that should be passed to the method call.
Exception thrown during method call
Class for building information strings about a proxy property
Instantiates and builds information about a property
Builds a declaration string for the property proxy
The property to build a proxy declaration for
Retrieves a signature for the property, ie _propertyName
Retrieves the property name
Retrieves the return type for the property
Retrieves the property declaration string
Retrieves the property type
Returns true if the property has a get field
Returns true if the property has a set field
Invokes all handlers for a command.
Initializes a new instance of the class.
used as "source" in the command event delegate.
command being executed.
Used to check if propagation may be cancelled.
callback when command have been executed..
async result.
Returns SQL
" <= "
Used to determine the kind of this token
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Check if the current position is the start of this token
true if our token is the next one.
Parses the data in the specified .
The containing the data to parse.
that is being built..
true if more tokens can be parsed on the current leaf; false if we should continue to next leaf (parse no more children).
Contains a value in a condition.
Initializes a new instance of the class.
Property that this value belongs to.
Question mark as string
"?"
Identifier for this token.
Property that this token belongs to.
Used to parse Swedish dates and times.
Static constructor setting up helping maps
Will try to parse the date/time using the local parser.
Will also try the default method if date is in an unknown format.
date/time string
A if parsed successfully; otherwise .If the date/time format is invalid.If month/day/hour/minute/second are not within their ranges.
Can parse one of the following formats:
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM
YYYYMMDDHHMM
YYYYMMDDHHMMSS
YYMMDDHHMM
Will try to parse the date/time using the local parser.
Will also try the default method if date is in an unknown format.
date string. Date will be set to current if value is not specified.
time string. Time will be set to current if not specified.
A If the date/time format is invalid.If month/day/hour/minute/second are not within their ranges.
Tries to parse a date string.
Can contain a complete date or parts of it (which parts depends on the country).
A containing the date (time is 0) if parsed successfully; otherwise .
YYYY-MM-DD
YYYYMMDD
YYMMDD
MMDD
Can parse one of the following formats:
YYYY-MM-DD
YYYYMMDD
YYMMDD
MMDD
contains a date string.
array that parsed values are written to.
where in array to start write values
If value contains an unknown format.If month/day are not within their ranges.offset is out of range.
Tries to parse a time string.
Can contain a complete time or parts of it (which parts depends on the country).
A containing the time (date is 0) if parsed successfully; otherwise .
Can parse one of the following formats:
HH:MM:SS
HH:MM
HHMM
HHMMSS
a time value
array that will be filled. Must contain three slots.
Where in the array to start write values
true if parsed successfully; otherwise false.offset is out of range.Invalid time format.
Validate a date
year value
month value
day value
throw exceptions
true if specified values are a correct date; otherwise false.If any of the values are not in the allowed ranges.Month must be between 1 and 12.
Validate a time value.
hour
minute
throw exceptions
If any of the values are not in the allowed ranges.If any of the values are not in the allowed ranges.
Format a date as a string.
A date/time
Examples: "Yesterday", "On monday"
Format a date as a string.
A date/time
Examples: "Yesterday at 12:20pm", "On Monday at 11:38am"
Get duration as a human friendly string.
Start time of duration
End time of duration
The detail in which to display the duration
Number of time units to display
A string like: 1 month, 2 weeks, and 3 days.
Get duration as a human friendly string. Displays all time unit durations.
Start time of duration
End time of duration
Get duration as a human friendly string.
The timespan for which to output the duration
The detail in which to display the duration
Number of time measures to display
A string like: 1 month, 2 weeks, and 3 days.
cannot be used when using this method since counting of months
requires both to and from date time information, in such a case user Since is given as duration months cannot be calculated, try GetDuration(DateTime, DateTime, DurationDetail) instead.
Get duration as a human friendly string. Displays all time unit durations.
The timespan for which to output the duration
Displays a value defined by the either as a part or as a total
Number of months and days
TimeSpan containing detailed times
The time unit to retrieve
True if the total amount of the time unit should be returned or just a portion of it
A string in the form 'amount timunitname, '
Retrieves a singular or plural name with amount and comma padded, ie '3 månader, ' or '1 månad, '
The name in plural (used to map for singular name)
The amount to display
Mappings for properties.
Initializes a new instance of the class.
Name of the class property.
Name of the database column.
Gets or sets name in table
Gets or sets name in class.
Gets or sets whether this property is part of the primary key
Gets or sets how the value is generated.
sequenceLooks for a sequence named "[tableName]_id_seq"autoincrementUses database specific code to fetch value after insert.
ONLY VALID FOR PRIMARY KEYSguidgenerate a globally unique identifier.any other valuespecifies a sequence/generator name
Connection helper specialized for PostgreSQL database.
Initializes a new instance of the class.
The connection string.
Create a new connection to the database.
An open database connection.If connection fails.
Try to get next sequence value.
A command to perform actions with, we pass commands since they might be in a transaction.
Name of the sequence/generator.
A generated value.If something failed
Gets the latest auto incremented value from the database.
A command to perform actions with, we pass commands since they might be in a transaction..
Name of the column that the auto incremented value is for.
auto incremented valueIf something failed Not supported by PostgreSQL
Modifies the SQL statement to include paging.
Mapping used by certain implementations (but not by this one).
SQL statement generated by the DAL.
0 based index
number of entries per page
SQL statement with paging
helper.Paging("SELECT * FROM users", 5, 10); // --> "SELECT * FROM users LIMIT 10 OFFSET 50"
Connection string