/// <summary> /// Returns direct children by type. /// </summary> /// <param name="type"></param> /// <returns></returns> internal NodeList FilterByNameOrIndexOrType(Node.NodeTypes type) { var ret = new NodeList(); ret.AddRange(this.Where(x => type == Node.NodeTypes.Any || x.NodeType == type)); return(ret); }
/// <summary> /// Returns all direct children with given name. /// </summary> /// <param name="name"></param> /// <returns></returns> internal NodeList FilterByTypeAndNameOrIndex(Node.NodeTypes type, string name) { var type_filtered = this.FilterByNameOrIndexOrType(type); var ret = new NodeList(); ret.AddRange(type_filtered.Where(x => string.Compare(x.Name, name, true) == 0).ToArray()); return(ret); }
/// <summary> /// Returns direct child at given index. /// </summary> /// <param name="index"></param> /// <returns></returns> internal NodeList FilterByTypeAndNameOrIndex(Node.NodeTypes type, int index) { var type_filtered = this.FilterByNameOrIndexOrType(type); var ret = new NodeList(); if (type_filtered.Count > index) { ret.Add(type_filtered[index]); } return(ret); }
public Node GetNodeByType(Node.NodeTypes type, int index) { if (type == Node.NodeTypes.Any) { return(this.Count > index ? this[index] : null); } else { var ret = (from n in this where n.NodeType == type select n).ToList(); return(ret.Count > index ? ret[index] : null); } }
/// <summary> /// Returns direct children by index. If no index is given, by name. If no name is given, by type. /// </summary> /// <param name="name"></param> /// <param name="index"></param> /// <param name="type"></param> /// <returns></returns> internal NodeList FilterByTypeAndNameOrIndex(int index, string name, Node.NodeTypes type) { if (index >= 0) { return(this.FilterByTypeAndNameOrIndex(type, index)); } if (!(string.IsNullOrEmpty(name))) { return(this.FilterByTypeAndNameOrIndex(type, name)); } else if (!(type == Node.NodeTypes.UnknownNode)) { return(this.FilterByNameOrIndexOrType(type)); } throw new Exception("Must provide name (!= \"\") or index (>= 0) or given node type."); }
/// <summary> /// Recursive search for nodes of specific type, with custom predicate. /// </summary> /// <param name="type"></param> /// <param name="predicate"></param> /// <returns></returns> public NodeList GetNodesByType(Node.NodeTypes type, Func <Node, bool> predicate) { var ret = new NodeList(); ret.AddRange(this.Where(x => (type == Node.NodeTypes.Any || x.NodeType == type) && predicate(x))); foreach (var n in this) { var list = n.Children.GetNodesByType(type, predicate); if (list.Count > 0) { foreach (var child in list) { ret.Add(child); } } } return(ret); }
public void LoadDefaultNodeProperties() { int index = Node.FindValueInEnumNodeTypes(editNodeCaptionText.text); //int index = Node.FindValueInEnumNodeTypes(currentEntity.label); if (index == -1) { return; } Node.NodeTypes nodeType = (Node.NodeTypes)index; string defaultPros = DefaultProperties.ForNode(nodeType); //currentEntity. editNodeProperties.text = defaultPros; print("loading default properties for: " + nodeType.ToString()); }
/// <summary> /// Search for nodes of specific type. /// </summary> /// <param name="type"></param> /// <param name="recursive"></param> /// <returns></returns> public NodeList GetByNodesType(Node.NodeTypes type, bool recursive) { var ret = new NodeList(); ret.AddRange(this.Where(x => type == Node.NodeTypes.Any || x.NodeType == type)); if (recursive) { foreach (var n in this) { var list = n.Children.GetByNodesType(type, true); if (list.Count > 0) { foreach (var child in list) { ret.Add(child); } } } } return(ret); }
public Node GetNodeByType(Node.NodeTypes type, string name) => (from n in this where (type == Node.NodeTypes.Any || n.NodeType == type) && string.Compare(n.Name, name) == 0 select n).FirstOrDefault();
/// <summary> /// Recursive search for nodes of specific type. /// </summary> /// <param name="type"></param> /// <returns></returns> public NodeList GetByNodesType(Node.NodeTypes type) => this.GetByNodesType(type, true);
public static string ForNode(Node.NodeTypes nodeType) { string properties = ""; switch (nodeType) { case Node.NodeTypes.Person: { properties = "knaUid: " + '\n' + "name: " + '\n' + "ssn: " + '\n' + "email: " + '\n' + "phone: " + '\n' + "street: " + '\n' + "postalTown: " + '\n' + "postalCode: "; break; } case Node.NodeTypes.Employee: { properties = "knaUid: " + '\n' + "name: " + '\n' + "phone: " + '\n' + "email: "; break; } case Node.NodeTypes.Company: { properties = "knaUid: " + '\n' + "name: " + '\n' + "orgNumber: " + '\n' + "kind: " + '\n' + "email: " + '\n' + "phone: " + '\n' + "street: " + '\n' + "postalTown: " + '\n' + "postalCode: "; break; } case Node.NodeTypes.Application: { properties = "knaUid: " + '\n' + "name: "; break; } case Node.NodeTypes.Case: { properties = "knaUid: " + '\n' + "name: "; break; } case Node.NodeTypes.RealEstate: { properties = "knaUid: " + '\n' + "name: " + '\n' + "street: " + '\n' + "postalTown: " + '\n' + "postalCode: "; break; } case Node.NodeTypes.Permit: { properties = "knaUid: " + '\n' + "name: " + '\n' + "kind: " + '\n' + "granted: " + '\n' + "grantedAt: " + '\n' + "createdAt: " + '\n' + "comment: " + '\n' + "citizen: "; break; } case Node.NodeTypes.Record: { properties = "knaUid: " + '\n' + "name: " + '\n' + "kind: " + '\n' + "active: " + '\n' + "registeredAt: " + '\n' + "unregisteredAt: " + '\n' + "createdAt: " + '\n' + "comment: " + '\n' + "citizen: "; break; } case Node.NodeTypes.Registration: { properties = "knaUid: " + '\n' + "name: " + '\n' + "kind: " + '\n' + "createdAt: " + '\n' + "comment: " + '\n' + "citizen: "; break; } default: { break; } } return(properties); }
internal static string NodeTypeToKeyword(Node.NodeTypes n) { switch (n) { case Node.NodeTypes.UnknownNode: return("unknown"); case Node.NodeTypes.UsingDirectiveSyntaxNode: return("usingdirective"); case Node.NodeTypes.NamespaceDeclarationSyntaxNode: return("ns"); case Node.NodeTypes.ClassDeclarationSyntaxNode: return("cls"); case Node.NodeTypes.IdentifierNameSyntaxNode: return("id"); case Node.NodeTypes.QualifiedNameSyntaxNode: return("name"); case Node.NodeTypes.FieldDeclarationSyntaxNode: return("field"); case Node.NodeTypes.VariableDeclarationSyntaxNode: return("vardeclaration"); case Node.NodeTypes.VariableDeclaratorSyntaxNode: return("vardeclarator"); case Node.NodeTypes.PropertyDeclarationSyntaxNode: return("property"); case Node.NodeTypes.AccessorListSyntaxNode: return("accessorlist"); case Node.NodeTypes.AccessorDeclarationSyntaxNode: return("accessordeclaration"); case Node.NodeTypes.AttributeListSyntaxNode: return("attlist"); case Node.NodeTypes.AttributeSyntaxNode: return("attribute"); case Node.NodeTypes.AttributeArgumentListSyntaxNode: return("attarg"); case Node.NodeTypes.BlockSyntaxNode: return("block"); case Node.NodeTypes.ReturnStatementSyntaxNode: return("return"); case Node.NodeTypes.MethodDeclarationSyntaxNode: return("method"); case Node.NodeTypes.PredefinedTypeSyntaxNode: return("predeftype"); case Node.NodeTypes.ParameterListSyntaxNode: return("paramlist"); case Node.NodeTypes.ExpressionStatementSyntaxNode: return("expression"); case Node.NodeTypes.InvocationExpressionSyntaxNode: return("invocation"); case Node.NodeTypes.ArgumentListSyntaxNode: return("arglist"); case Node.NodeTypes.AssignmentExpressionSyntaxNode: return("assign"); case Node.NodeTypes.MemberAccessExpressionSyntaxNode: return("memberaccess"); case Node.NodeTypes.SwitchStatementSyntaxNode: return("switch"); case Node.NodeTypes.ArgumentSyntaxNode: return("arg"); case Node.NodeTypes.LiteralExpressionSyntaxNode: return("literal"); case Node.NodeTypes.IfStatementSyntaxNode: return("if"); case Node.NodeTypes.PrefixUnaryExpressionSyntaxNode: return("prefix"); case Node.NodeTypes.ParenthesizedExpressionSyntaxNode: return("parenthesizedexpression"); case Node.NodeTypes.BinaryExpressionSyntaxNode: return("binaryexpression"); case Node.NodeTypes.ElseClauseSyntaxNode: return("else"); case Node.NodeTypes.WhileStatementSyntaxNode: return("while"); case Node.NodeTypes.BreakStatementSyntaxNode: return("break"); case Node.NodeTypes.UsingStatementSyntaxNode: return("using"); case Node.NodeTypes.ForStatementSyntaxNode: return("for"); case Node.NodeTypes.LabeledStatementSyntaxNode: return("labeledstatement"); case Node.NodeTypes.BaseListSyntaxNode: return("baselist"); case Node.NodeTypes.SimpleBaseTypeSyntaxNode: return("basetype"); case Node.NodeTypes.GenericNameSyntaxNode: return("genericname"); case Node.NodeTypes.TypeArgumentListSyntaxNode: return("typearg"); case Node.NodeTypes.ParameterSyntaxNode: return("param"); case Node.NodeTypes.LocalDeclarationStatementSyntaxNode: return("localdeclaration"); case Node.NodeTypes.EqualsValueClauseSyntaxNode: return("equalsvalue"); case Node.NodeTypes.ObjectCreationExpressionSyntaxNode: return("new"); case Node.NodeTypes.TypeOfExpressionSyntaxNode: return("typeof"); case Node.NodeTypes.ThrowStatementSyntaxNode: return("throw"); case Node.NodeTypes.ThisExpressionSyntaxNode: return("this"); case Node.NodeTypes.SimpleLambdaExpressionSyntaxNode: return("lambda"); case Node.NodeTypes.ForEachStatementSyntaxNode: return("foreach"); case Node.NodeTypes.TryStatementSyntaxNode: return("try"); case Node.NodeTypes.CatchClauseSyntaxNode: return("catch"); case Node.NodeTypes.SwitchSectionSyntaxNode: return("switchselection"); case Node.NodeTypes.CaseSwitchLabelSyntaxNode: return("case"); case Node.NodeTypes.DefaultSwitchLabelSyntaxNode: return("default"); case Node.NodeTypes.ArrayTypeSyntaxNode: return("arraytype"); case Node.NodeTypes.ArrayRankSpecifierSyntaxNode: return("arrayrank"); case Node.NodeTypes.OmittedArraySizeExpressionSyntaxNode: return("ommittedarraysize"); case Node.NodeTypes.ElementAccessExpressionSyntaxNode: return("elementaccess"); case Node.NodeTypes.BracketedArgumentListSyntaxNode: return("brackedarglist"); case Node.NodeTypes.ConditionalExpressionSyntaxNode: return("conditionalexpression"); case Node.NodeTypes.PostfixUnaryExpressionSyntaxNode: return("unaryexpression"); case Node.NodeTypes.ContinueStatementSyntaxNode: return("continue"); case Node.NodeTypes.ConstructorDeclarationSyntaxNode: return("constructor"); case Node.NodeTypes.QueryExpressionSyntaxNode: return("query"); case Node.NodeTypes.FromClauseSyntaxNode: return("from"); case Node.NodeTypes.QueryBodySyntaxNode: return("querybody"); case Node.NodeTypes.WhereClauseSyntaxNode: return("where"); case Node.NodeTypes.SelectClauseSyntaxNode: return("select"); case Node.NodeTypes.DoStatementSyntaxNode: return("do"); case Node.NodeTypes.NameEqualsSyntaxNode: return("nameequals"); case Node.NodeTypes.EnumDeclarationSyntaxNode: return("enum"); case Node.NodeTypes.AttributeArgumentSyntaxNode: return("attarg"); case Node.NodeTypes.ConstructorInitializerSyntaxNode: return("constructorinit"); case Node.NodeTypes.EmptyStatementSyntaxNode: return("empty"); case Node.NodeTypes.InitializerExpressionSyntaxNode: return("initexp"); case Node.NodeTypes.AwaitExpressionSyntaxNode: return("await"); case Node.NodeTypes.AnonymousObjectCreationExpressionSyntaxNode: return("anonymousobjectcreation"); case Node.NodeTypes.AnonymousObjectMemberDeclaratorSyntaxNode: return("anonymousobjectmemberdeclarator"); case Node.NodeTypes.TypeParameterListSyntaxNode: return("typeparamlist"); case Node.NodeTypes.TypeParameterSyntaxNode: return("typeparam"); case Node.NodeTypes.DefaultExpressionSyntaxNode: return("defaultexpression"); case Node.NodeTypes.InterfaceDeclarationSyntaxNode: return("interface"); case Node.NodeTypes.CastExpressionSyntaxNode: return("cast"); case Node.NodeTypes.BaseExpressionSyntaxNode: return("base"); case Node.NodeTypes.AttributeTargetSpecifierSyntaxNode: return("atttarget"); case Node.NodeTypes.AliasQualifiedNameSyntaxNode: return("alias"); case Node.NodeTypes.ExplicitInterfaceSpecifierSyntaxNode: return("explicitinterfacespecifier"); default: throw new Exception("Jag fattar inget."); } }
public SearchNode(Node.NodeTypes node_type, string name) { this.NodeType = node_type; this.Index = -1; this.Name = name; }
public SearchNode(Node.NodeTypes node_type, int index) { this.NodeType = node_type; this.Index = index; this.Name = ""; }
public SearchNode(Node.NodeTypes node_type) { this.NodeType = node_type; this.Index = -1; this.Name = ""; }