public bool IsValidBackLink(AcmaSchemaObjectClass backLinkObjectClass) { if (this.Type != ExtendedAttributeType.Reference) { return(false); } if (this.Operation == AcmaAttributeOperation.AcmaInternalTemp) { return(false); } if (this.IsBuiltIn) { return(false); } if (this.IsInheritedInClass(backLinkObjectClass)) { return(false); } if (!backLinkObjectClass.Attributes.Any(t => t == this)) { return(false); } if (backLinkObjectClass.BackLinks.Any(t => t.BackLinkAttribute == this)) { return(false); } return(true); }
public bool IsReadOnlyInClass(AcmaSchemaObjectClass objectClass) { return(this.Mappings.Any(t => t.ObjectClass == objectClass && t.InheritanceSourceAttribute != null) || this.ShadowObjectReferenceLinks.Any(t => t.ParentObjectClass == objectClass) || this.BackLinks.Any(t => t.BackLinkObjectClass == objectClass) || this.Name == "objectId" || this.Name == "objectClass" || this.Name == "shadowParent" || this.Name == "shadowLink"); }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (obj is AcmaSchemaObjectClass) { AcmaSchemaObjectClass other = (AcmaSchemaObjectClass)obj; if (this.ID == other.ID) { return(true); } } return(base.Equals(obj)); }
public bool IsConstructable(AcmaSchemaObjectClass objectClass) { if (!objectClass.Attributes.Contains(this)) { return(false); } if (objectClass.BackLinks.Any(t => t.BackLinkAttribute == this)) { return(false); } if (objectClass.ShadowLinks.Any(t => t.ReferenceAttribute == this)) { return(false); } return(true); }
public bool IsValidForwardLink(AcmaSchemaObjectClass forwardLinkObjectClass) { if (this.Type != ExtendedAttributeType.Reference) { return(false); } if (this.Operation == AcmaAttributeOperation.AcmaInternalTemp) { return(false); } if (!forwardLinkObjectClass.Attributes.Any(t => t == this)) { return(false); } if (forwardLinkObjectClass.BackLinks.Any(t => t.BackLinkAttribute == this)) { return(false); } return(true); }
public bool IsInheritedInClass(AcmaSchemaObjectClass objectClass) { return(this.Mappings.Any(t => t.ObjectClass == objectClass && t.InheritanceSourceAttribute != null)); }