Skip to content

Server APIs – Aras.TDF.Base

Eric Domke edited this page Apr 6, 2020 · 2 revisions

Aras.TDF.Base v12.0.0.17204

BaseContentGenerator Class

Inheritance objectContentGeneratorBaseContentGenerator

public class BaseContentGenerator : ContentGenerator
{
  // Constructors
  public BaseContentGenerator(SchemaElementFactory factory);

  // Methods
  public void GenerateContent(DocumentSchemaElement targetElement, SchemaElementExecutionContext executionContext);
}

BlockDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementExternalDocumentElementBlockDocumentElement

public class BlockDocumentElement : ExternalDocumentElement
{
  // Constructors
  public BlockDocumentElement(SchemaElementFactory factory, XmlNode nodeOrigin);
  public BlockDocumentElement(SchemaElementFactory factory, XmlNode nodeOrigin, string externalBlockId);

  // Properties
  public string BlockId { get; set; }
  public bool IsExternal { get; }
  public TextDocumentElement TextContainer { get; set; }

  // Methods
  public void SetExternalBlock(string referenceBlockId);
}

ContentGenerator Class

Inheritance objectContentGenerator

Derived BaseContentGenerator

public class ContentGenerator
{
  // Constructors
  public ContentGenerator(SchemaElementFactory factory);

  // Properties
  public Dictionary<string, object> GenerationParameters { get; }

  // Methods
  public void GenerateContent(DocumentSchemaElement targetElement, SchemaElementExecutionContext executionContext);
}

ContentGeneratorController Class

Inheritance objectContentGeneratorController

public class ContentGeneratorController
{
  // Constructors
  public ContentGeneratorController(SchemaElementFactory factory, string methodId, string elementName, bool isContentDynamic);
  public ContentGeneratorController(SchemaElementFactory factory, string methodId, string elementName, bool isContentDynamic, string generatorParameters);

  // Properties
  public string ElementName { get; }
  public bool IsDynamic { get; }

  // Methods
  public void GenerateContent(DocumentSchemaElement targetElement);
  public void GenerateContent(DocumentSchemaElement targetElement, SchemaElementExecutionContext executionContext);
}

DocumentationUtilities Class

Inheritance objectDocumentationUtilities

public sealed class DocumentationUtilities
{

  // Fields
  public const string ArasPrefix = @"aras"
  public const string BlockIdAttribute = @"blockId"
  public const string BlockReferenceName = @"aras:block"
  public const string ConditionAttribute = @"aras:condition"
  public const string FileLocalPrefix = @"../"
  public const string ImageIdAttribute = @"imageId"
  public const string ImageItemTypeName = @"tp_Image"
  public const string ImageLocalPrefix = @"../Images/"
  public const string ImageReferenceName = @"aras:image"
  public const string ImageSrcAttribute = @"src"
  public const string ItemReferenceName = @"aras:item"
  public const string LinkAttributeName = @"link"
  public const string LinkBlockAttribute = @"targetBlock"
  public const string LinkElementAttribute = @"targetElement"
  public const string LinkIdAttribute = @"linkId"
  public const string LinkPathAttribute = @"path"
  public const string LinkReferenceName = @"aras:link"
  public const string LinkTypeAttribute = @"linktype"
  public const string LinkUrlAttribute = @"url"
  public const string ListTypeAttribute = @"type"
  public const string LocalhostUrlPart = @"//localhost/"
  public const string MergeMatrixAttribute = @"MergeMatrix"
  public const string ReferenceAttribute = @"ref-id"
  public const string ReferenceTypeAttribute = @"by-reference"
  public const string ResourceDirectoryName = @"Resources"
  public const string ResourcePathAttribute = @"ResourcePath"
  public const string UidAttribute = @"aras:id"
  public const string UrlSeparator = @"/"
  public const string VaultPrefix = @"vault:///?fileId="

  // Methods
  public static void CopyAttributes(XmlNode sourceNode, XmlNode targetNode, bool replaceExisting);
  public static XmlNamespaceManager CreateNamespaceManager(XmlDocument contentDocument);
  public static string ExtractFileIdFromVaultUrl(string targetUrl);
  public static bool IsDefaultNamespaceAttribute(XmlAttribute elementAttribute, XmlNamespaceManager nsManager);
  public static bool IsLocalUrl(string targetUrl);
  public static bool IsNamespaceAttribute(XmlAttribute elementAttribute);
  public static bool IsVaultUrl(string targetUrl);
  public static string NewGuid();
  public static void RemoveDocumentAttributesByPrefix(XmlDocument targetDocument, string attributePrefix, XmlNamespaceManager nsManager);
  public static void RemoveNodeAttributesByPrefix(XmlNode targetNode, string attributePrefix, XmlNamespaceManager namespaceManager);
}

DocumentSchemaElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElement

Derived ExternalDocumentElement, ListDocumentElement, ListItemDocumentElement, TableCellDocumentElement, TableDocumentElement, TableRowDocumentElement, TextDocumentElement

public class DocumentSchemaElement : DocumentSchemaNode
{
  // Constructors
  public DocumentSchemaElement(SchemaElementFactory factory, XmlNode elementOrigin);

  // Properties
  public string Condition { get; set; }
  public ElementContentType ContentType { get; }
  public bool IsBlocked { get; }
  public bool IsEmpty { get; }
  public string Uid { get; }

  // Methods
  public int AddChild(DocumentSchemaNode targetElement);
  public void ClearChilds();
  public string GetAttribute(string attributeName);
  public int InsertChild(DocumentSchemaNode targetElement, int insertPosition);
  public void OnChange();
  public void RemoveAttribute(string attributeName);
  public void RemoveChild(DocumentSchemaNode schemaNode);
  public void SetAttribute(string attributeName, string attributeValue);
}

DocumentSchemaNode Class

Inheritance objectDocumentSchemaNode

Derived DocumentSchemaElement, DocumentTextNode

public abstract class DocumentSchemaNode
{

  // Properties
  public IList<DocumentSchemaNode> Childs { get; }
  public string Id { get; }
  public string NodeName { get; }
  public XmlNode Origin { get; }
  public DocumentSchemaElement Parent { get; set; }
  public SchemaNodeDataTypes SchemaType { get; }

  // Methods
  public DocumentSchemaNode Clone();
  public IEnumerable<DocumentSchemaNode> GetAllChildren();
}

DocumentTextNode Class

Inheritance objectDocumentSchemaNodeDocumentTextNode

public class DocumentTextNode : DocumentSchemaNode
{
  // Constructors
  public DocumentTextNode(SchemaElementFactory factory, XmlNode nodeOrigin);

  // Properties
  public string Text { get; set; }
}

ElementContentType Enum

Inheritance objectValueTypeEnumElementContentType

public enum ElementContentType
{
  Common = 0,
  Static = 1,
  Dynamic = 2,
}

ExternalDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementExternalDocumentElement

Derived BlockDocumentElement, ImageDocumentElement, ItemDocumentElement, StringDocumentElement

public abstract class ExternalDocumentElement : DocumentSchemaElement
{

  // Properties
  public bool IsBlocked { get; }
  public string ReferenceId { get; }

  // Methods
  public string GetExternalAttribute(string attributeName);
  public string GetReferenceProperty(string propertyName);
  public void RemoveExternalAttribute(string attributeName);
  public void RemoveReference();
  public void SetExternalAttribute(string attributeName, string attributeValue);
  public void SetReferenceProperty(string propertyName, string propertyValue);
}

ImageDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementExternalDocumentElementImageDocumentElement

public class ImageDocumentElement : ExternalDocumentElement
{
  // Constructors
  public ImageDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);

  // Properties
  public string ImageId { get; set; }
  public bool IsEmpty { get; }
  public string Src { get; set; }

  // Methods
  public void SetImage(Item imageItem);
}

ItemDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementExternalDocumentElementItemDocumentElement

public class ItemDocumentElement : ExternalDocumentElement
{
  // Constructors
  public ItemDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);

  // Properties
  public bool IsEmpty { get; }
  public string ItemId { get; }
  public string ItemType { get; }
  public string ItemTypeId { get; }

  // Methods
  public string GetItemProperty(string propertyName);
  public string GetItemProperty(string propertyName, string defaultValue);
  public void SetItem(Item referenceItem);
}

LinkTypes Enum

Inheritance objectValueTypeEnumLinkTypes

Attributes Flags


[Flags()]
public enum LinkTypes
{
  None = 0,
  ExternalDocument = 1,
  InternalElement = 2,
  Url = 3,
}

ListDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementListDocumentElement

public class ListDocumentElement : DocumentSchemaElement
{
  // Constructors
  public ListDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);
  public ListDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin, int requiredItemsCount);

  // Properties
  public int ItemCount { get; }
  public IList<ListItemDocumentElement> Items { get; }
  public string ListType { get; set; }

  // Methods
  public void AddItem();
  public void AddItem(int itemIndex);
  public void ClearChilds();
  public void OnChange();
  public void RegisterItem(DocumentSchemaElement targetElement);
  public void RemoveItem();
  public void RemoveItem(int itemIndex);
  public void UnregisterItem(DocumentSchemaElement targetElement);
}

ListItemDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementListItemDocumentElement

public class ListItemDocumentElement : DocumentSchemaElement
{
  // Constructors
  public ListItemDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);

  // Properties
  public int Index { get; set; }
  public ListDocumentElement List { get; set; }
  public DocumentSchemaElement Parent { get; set; }
}

ListTypes Class

Inheritance objectListTypes

public static class ListTypes
{

  // Fields
  public const string Alpha = @"alpha"
  public const string Bullet = @"bullet"
  public const string Numeric = @"numeric"
}

MergeDirection Enum

Inheritance objectValueTypeEnumMergeDirection

public enum MergeDirection
{
  Up = 0,
  Right = 1,
  Down = 2,
  Left = 3,
}

SchemaElementExecutionContext Class

Inheritance objectSchemaElementExecutionContext

public class SchemaElementExecutionContext
{
  // Constructors
  public SchemaElementExecutionContext(string documentId);
  public SchemaElementExecutionContext(string documentId, string documentItemType);
  public SchemaElementExecutionContext(string documentId, string documentItemType, string contentBuilderMethod);

  // Properties
  public string ContentBuilderMethod { get; }
  public string DocumentId { get; }
  public string DocumentItemType { get; }
}

SchemaElementFactory Class

Inheritance objectSchemaElementFactory

public class SchemaElementFactory
{
  // Constructors
  public SchemaElementFactory(Innovator innovatorInstance, string schemaId);
  public SchemaElementFactory(IServerConnection serverConnection, string schemaId);
  public SchemaElementFactory(Innovator innovatorInstance, string schemaId, SchemaElementExecutionContext executionContext);
  public SchemaElementFactory(IServerConnection serverConnection, string schemaId, SchemaElementExecutionContext executionContext);

  // Properties
  public bool CustomContentEnabled { get; set; }
  public string DefaultLanguageCode { get; set; }
  public Innovator InnovatorInstance { get; }
  [DefaultValue(false)]
  public bool IsInitialized { get; }
  public JavaScriptSerializer JSONSerializer { get; }
  public Evaluator MethodEvaluator { get; }
  public string SchemaId { get; }
  public XmlSchemaValidatorHelper ValidationHelper { get; }

  // Methods
  public void AddReference(string referenceXml);
  public void AddReference(XmlNode referenceNode);
  public XmlNode ConstructElementOrigin(string elementName);
  public XmlNode CreateNewReferenceNode(SchemaNodeDataTypes schemaType);
  public XmlNode CreateNewReferenceNode(SchemaNodeDataTypes schemaType, string referenceId);
  public DocumentSchemaNode CreateTextNode();
  public DocumentSchemaNode CreateTextNode(XmlNode originNode);
  public string ExportElementsToXml(IList<DocumentSchemaNode> elementsList);
  public string ExportElementToXml(DocumentSchemaNode targetElement);
  public void GenerateBaseContent(DocumentSchemaElement targetElement);
  public void GenerateCustomContent(DocumentSchemaElement targetElement);
  public XmlNode GetDynamicContent(DocumentSchemaNode schemaNode);
  public ElementContentType GetElementContentType(DocumentSchemaNode schemaNode);
  public static string GetElementReferenceNodeName(SchemaNodeDataTypes schemaType);
  public SchemaNodeDataTypes GetElementTypeByNodeName(string nodeName);
  public string[] GetExpectedChildNames(DocumentSchemaElement targetElement);
  public string[] GetExpectedChildNames(XmlNode targetNode);
  public string[] GetExpectedChildNames(DocumentSchemaElement targetElement, SchemaNodeDataTypes schemaType);
  public string[] GetExpectedChildNames(XmlNode targetNode, SchemaNodeDataTypes schemaType);
  public XmlNode GetExternalBlockReferenceNode(string referenceBlockId);
  public XmlNode GetReferenceNodeByAttribute(string attributeName, string attributeValue);
  public XmlNode GetReferenceNodeById(string referenceId);
  public bool IsCustomGeneratorExists(DocumentSchemaNode targetElement);
  public bool IsDynamicGeneratorExists(DocumentSchemaNode targetNode);
  public bool IsDynamicGeneratorExists(string elementName);
  public DocumentSchemaNode NewBlock();
  public DocumentSchemaNode NewBlock(string elementName);
  public DocumentSchemaNode NewBlock(string elementName, string externalBlockId);
  public DocumentSchemaNode NewElement(XmlNode originNode);
  public DocumentSchemaNode NewElement(string elementName);
  public DocumentSchemaNode NewList();
  public DocumentSchemaNode NewList(string elementName);
  public DocumentSchemaNode NewList(string elementName, int itemCount);
  public DocumentSchemaNode NewTable();
  public DocumentSchemaNode NewTable(string elementName);
  public DocumentSchemaNode NewTable(string elementName, int rowCount, int cellCount);
  public DocumentSchemaNode NewText();
  public DocumentSchemaNode NewText(string elementName);
  public DocumentSchemaNode NewText(string elementName, string initialText);
  public DocumentSchemaNode ParseDocument(XmlDocument targetDocument);
  public DocumentSchemaNode ParseElement(XmlNode originNode);
  public DocumentSchemaNode ParseElement(string xmlContent);
  public Dictionary<string, XmlNode> SearchGeneratedContentNodesRecursively(DocumentSchemaNode targetElement);
  public Dictionary<string, XmlNode> SearchGeneratedContentNodesRecursively(DocumentSchemaNode targetElement, Dictionary<string, XmlNode> targetDictionary);
  public Dictionary<string, XmlNode> SearchReferenceNodesRecursively(DocumentSchemaNode targetElement);
  public Dictionary<string, XmlNode> SearchReferenceNodesRecursively(DocumentSchemaNode targetElement, Dictionary<string, XmlNode> targetDictionary);
  public XmlNode StringToXmlNode(string nodeXml);
}

SchemaNodeDataTypes Enum

Inheritance objectValueTypeEnumSchemaNodeDataTypes

Attributes Flags


[Flags()]
public enum SchemaNodeDataTypes
{
  None = 0,
  SystemElement = 1,
  InteractiveElement = 2,
  Text = 4,
  String = 8,
  Block = 16,
  Mixed = 32,
  List = 64,
  ListItem = 128,
  Image = 256,
  Item = 512,
  Table = 1024,
  TableRow = 2048,
  TableCell = 4096,
}

StringDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementExternalDocumentElementStringDocumentElement

public class StringDocumentElement : ExternalDocumentElement
{
  // Constructors
  public StringDocumentElement(SchemaElementFactory factory, XmlNode nodeOrigin);

  // Properties
  public int Index { get; set; }
  public bool IsLink { get; }
  public int Length { get; }
  public LinkTypes LinkType { get; }
  public DocumentSchemaElement Parent { get; set; }
  public string Text { get; set; }
  public TextDocumentElement TextContainer { get; set; }

  // Methods
  public void RemoveAllStyles();
  public void RemoveLink();
  public void RemoveStyle(string textStyle);
  public void SetLink(string targetUrl);
  public void SetLink(string targetDocumentId, string targetElementId);
  public void SetLink(LinkTypes requiredLinkType, string linkData);
  public void SetStyle(string textStyle);
  public void SetStyle(string textStyle, int startRange, int endRange);
}

TableCellDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementTableCellDocumentElement

public class TableCellDocumentElement : DocumentSchemaElement
{
  // Constructors
  public TableCellDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);

  // Properties
  public int Index { get; set; }
  public TableCellMergeInfo MergeInfo { get; set; }
  public DocumentSchemaElement Parent { get; set; }
  public TableRowDocumentElement Row { get; set; }

  // Methods
  public static int CalculateMergeId(TableRowDocumentElement rowElement, TableCellDocumentElement cellElement);
  public bool IsMergeOrigin();
}

TableCellMergeInfo Class

Inheritance objectTableCellMergeInfo

public class TableCellMergeInfo
{
  // Constructors
  public TableCellMergeInfo();
  public TableCellMergeInfo(int widthValue, int heightValue, int mergeId);

  // Properties
  public int Height { get; set; }
  public int Id { get; set; }
  public int Width { get; set; }
}

TableDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementTableDocumentElement

public class TableDocumentElement : DocumentSchemaElement
{
  // Constructors
  public TableDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);
  public TableDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin, int requiredRowCount, int requiredCellCount);

  // Properties
  public int CellCount { get; }
  public int RowCount { get; }
  public IList<TableRowDocumentElement> Rows { get; }

  // Methods
  public void AddColumn();
  public void AddColumn(int columnIndex);
  public void AddRow();
  public void AddRow(int rowIndex);
  public void ClearChilds();
  public TableCellDocumentElement GetCell(int rowIndex, int cellIndex);
  public void MergeCells(TableCellDocumentElement sourceCell, int mergeDirection);
  public void MergeCells(TableCellDocumentElement sourceCell, MergeDirection mergeDirection);
  public void MergeCells(int rowIndex, int cellIndex, MergeDirection mergeDirection);
  public void MergeCells(int rowIndex, int cellIndex, int mergeDirection);
  public void OnChange();
  public void RegisterRow(DocumentSchemaElement targetElement);
  public void RemoveChild(DocumentSchemaNode schemaNode);
  public void RemoveColumn();
  public void RemoveColumn(int columnIndex);
  public void RemoveRow();
  public void RemoveRow(int rowIndex);
  public void UnmergeCells(TableCellDocumentElement sourceCell);
  public void UnmergeCells(int rowIndex, int cellIndex);
  public void UnregisterRow(DocumentSchemaElement targetElement);
}

TableRowDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementTableRowDocumentElement

public class TableRowDocumentElement : DocumentSchemaElement
{
  // Constructors
  public TableRowDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);

  // Properties
  public int CellCount { get; }
  public IList<TableCellDocumentElement> Cells { get; }
  public int Index { get; set; }
  public DocumentSchemaElement Parent { get; set; }
  public TableDocumentElement Table { get; set; }

  // Methods
  public void ClearChilds();
  public bool IsValid();
  public void RegisterCell(DocumentSchemaElement targetElement);
  public void UnregisterCell(DocumentSchemaElement targetElement);
}

TextDocumentElement Class

Inheritance objectDocumentSchemaNodeDocumentSchemaElementTextDocumentElement

public class TextDocumentElement : DocumentSchemaElement
{
  // Constructors
  public TextDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin);
  public TextDocumentElement(SchemaElementFactory factory, XmlNode elementOrigin, string initialText);

  // Properties
  public int Length { get; }
  public int StringCount { get; }
  public IList<StringDocumentElement> Strings { get; }
  public string Text { get; set; }

  // Methods
  public void AddString(string textContent);
  public void AddString(string textContent, string textStyle);
  public void AddString(string textContent, int itemIndex);
  public void AddString(string textContent, int itemIndex, string textStyle);
  public void ClearChilds();
  public void OnChange();
  public void RegisterString(DocumentSchemaElement targetElement);
  public void RemoveString();
  public void RemoveString(int itemIndex);
}

TextStyles Class

Inheritance objectTextStyles

public static class TextStyles
{

  // Fields
  public const string Bold = @"bold"
  public const string Italic = @"italic"
  public const string Strikeout = @"strike"
  public const string Sub = @"sub"
  public const string Sup = @"sup"
  public const string Underline = @"under"
}

XmlSchemaAttributeExtended Class

Inheritance objectXmlSchemaAttributeExtended

public class XmlSchemaAttributeExtended
{
  // Constructors
  public XmlSchemaAttributeExtended(XmlSchemaAttribute attr);

  // Properties
  public string Default { get; }
  public string Fixed { get; }
  public string Name { get; }
  public IList<string> Restriction { get; }
  public XmlTokenizedType TokenizedType { get; }
  public string Use { get; }
}

XmlSchemaValidatorHelper Class

Inheritance objectXmlSchemaValidatorHelper

public class XmlSchemaValidatorHelper
{

  // Properties
  public XmlNamespaceManager XmlNamespaceManager { get; set; }

  // Methods
  public IList<XmlSchemaAttributeExtended> GetNodeAttributesExByNodeName(XmlQualifiedName nodeName);
  public IList<XmlSchemaElement> GetSchemaElementsByType(SchemaNodeDataTypes schemaType);
  public XmlQualifiedName GetXmlQualifiedNameByNodeName(string nodeNameWithPrefix);
  public XmlSchemaElement GetXmlSchemaElementByName(XmlQualifiedName nodeName);
  public XmlSchemaElement GetXmlSchemaElementByName(string nodeNameWithPrefix);
  public SchemaNodeDataTypes GetXmlSchemaTypeByNodeName(string nodeNameWithPrefix);
  public SchemaNodeDataTypes GetXmlSchemaTypeByNodeName(XmlQualifiedName nodeName);
  public bool IsSchemaContains(string nodeNameWithPrefix);
}
Clone this wiki locally