public List <CF> Query <CF>(contentRelationQueryType qType, contentRelationType qRelation, IContentElement qReference, int limit = -1) { List <CF> output = new List <CF>(); contentElementList elements = Query(qRelation, qReference, limit); foreach (IContentElement element in elements) { switch (qType) { case contentRelationQueryType.gatherFlags: IContentToken ict = element as IContentToken; if (ict != null) { output.AddRange(ict.flags.getEnumListFromFlags <CF>()); // output.populateWith(ict.flags); } break; case contentRelationQueryType.gatherSentenceFlags: IContentSentence ics = element as IContentSentence; if (ics != null) { output.AddRange(ics.sentenceFlags.getEnumListFromFlags <CF>()); // output.populateWith(ics.sentenceFlags); } break; case contentRelationQueryType.gatherParagraphFlags: IContentParagraph icp = element as IContentParagraph; if (icp != null) { output.AddRange(icp.flags.getEnumListFromFlags <CF>()); // output.populateWith(icp.flags); } // output.populateWith(icp.flags); break; case contentRelationQueryType.gatherBlockTags: IContentBlock icb = element as IContentBlock; if (icb != null) { output.AddRange(icb.flags.getEnumListFromFlags <CF>()); // output.populateWith(icb.flags); } break; case contentRelationQueryType.gatherOrigins: throw new NotImplementedException("gatherOrigin"); //IContentToken icto = element as IContentToken; //if (icto != null) output.Add((CF)icto.origin); break; default: //output.populateWith(element.flags); break; } } return(output); }
public List <string> Query(contentRelationQueryType qType, contentRelationType qRelation, IContentElement qReference, int limit = -1) { List <string> output = new List <string>(); contentElementList elements = Query(qRelation, qReference, limit); foreach (IContentElement element in elements) { switch (qType) { case contentRelationQueryType.gatherContents: output.Add(element.content); break; default: break; } } return(output); }