public override PageObject Create(char?lastChar, char currentChar, char?nextChar) { if (this.IsPossibleStart(lastChar, currentChar, nextChar)) { ElementAttributeValue result = new ElementAttributeValue(Page); result.html.Append(currentChar); return(result); } return(null); }
List <PageObject> ObjectFactory(char?lastChar, char currentChar, char?nextChar) { List <PageObject> objects = new List <FoogleEngine.PageObject>(); foreach (var factory in factories) { PageObject temp = factory.Create(lastChar, currentChar, nextChar); // Elements may think they can start inside a element value // Element values may think the end of one element value is the beginning of another ElementAttributeValue tempEAV = temp as ElementAttributeValue; if (tempEAV != null && nextIsValue) { inValue = true; } if (temp != null && (tempEAV == null || inValue)) { objects.Add(temp); } } return(objects); }