Class VersionManager
Manages version compatibility and dependency validation for the Xperiflow system.
Namespace: Workspace.XBR.Xperiflow.VersionManagement
Assembly: Xperiflow.dll
public class VersionManager : IVersionManager
Examples
Basic usage:
var dependencies = new List
{
new XperiflowDependency("Component1", "1.0.0", 1),
new XBRDependency("Component2", "2.1.0", 2)
};
var versionManager = new VersionManager(sessionInfo, dependencies);
var result = versionManager.CheckAllDependencies();
if (!result.IsCompatible)
`{
Console.WriteLine($"Dependency validation failed: {result.Message}`");
}
Remarks
The Workspace.XBR.Xperiflow.VersionManagement.VersionManager class provides concrete implementation of version management functionality, ensuring that all system dependencies are compatible before operations proceed. It evaluates dependencies in priority order and provides detailed feedback on compatibility issues.
Key Features:
-
Priority-Based ValidationDependencies are evaluated in priority order, with higher priority items checked first
-
Fast FailureReturns immediately upon encountering the first incompatible dependency
-
Comprehensive ReportingProvides detailed information about compatibility issues and successful validations
-
Session IntegrationIntegrates with OneStream session handling for consistent error reporting
Usage Pattern:
Create a VersionManager instance with the required dependencies, then call Workspace.XBR.Xperiflow.VersionManagement.VersionManager.CheckAllDependencies() to validate compatibility. The method returns immediately if any dependency fails, providing specific details about the failure.
Implements: Workspace.XBR.Xperiflow.VersionManagement.IVersionManager
Methods
CheckAllDependencies()
Validates the compatibility of all registered dependencies.
public VersionValidationResponse CheckAllDependencies()
Remarks
This method performs a comprehensive check of all registered dependencies to ensure they are compatible with the current system configuration. Dependencies are evaluated in priority order (lowest priority value first), and the first incompatible dependency encountered will cause the validation to fail immediately.
The validation process:
Returns
Workspace.XBR.Xperiflow.VersionManagement.VersionValidationResponse
A Workspace.XBR.Xperiflow.VersionManagement.VersionValidationResponse indicating whether all dependencies are compatible and providing details about any compatibility issues.
Exceptions
OneStream.Shared.Common.XFException
Thrown when an error occurs during dependency validation
Implements
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object,System.Object)
System.Object.GetHashCode
System.Object.GetType
System.Object.MemberwiseClone
System.Object.ReferenceEquals(System.Object,System.Object)
System.Object.ToString