Exemple #1
0
 protected CatalogSubject(SystemResourceScheme Scheme, string host, string Name, INodeCatalogSubject Parent = null)
 {
     this.Parent           = Parent;
     this.Scheme           = Scheme;
     this.IsRoot           = Parent == null;
     this.SymbolicHost     = host;
     this.Name             = IsRoot ? $"/{host}/{Name}" : Name;
     this.Lineage          = DeriveLineage().ToList();
     this.RelativeLocation = IsRoot ? this.Name : DeriveRelativeLocation();
     this.Urn             = DeriveUrn();
     this.LineageSegments = Urn.NonSchemeComponents.Zip(RelativeLocation.Split('/'), (x, y) => (x, y)).ToList();
     this.Segment         = (Urn.ToString(), RelativeLocation.ToString());
 }
Exemple #2
0
 public static SystemResourceUrn FromComponents(SystemResourceScheme scheme, params object[] Components)
 => new SystemResourceUrn(scheme, Components);
Exemple #3
0
 public SystemResourceUrn(SystemResourceScheme scheme, params object[] Components)
     : base(scheme, Components)
 {
 }
Exemple #4
0
 public SystemResourceUrn(SystemResourceScheme scheme, string Identifier)
     : base(scheme, Identifier)
 {
 }
Exemple #5
0
 protected override SystemResourceUrn New(SystemResourceScheme scheme, string EverythingButScheme)
 => new SystemResourceUrn(scheme, EverythingButScheme);