AspNetEdit.Editor.Persistence.ServerObjectParsingObject.CreateChildParsingObject C# (CSharp) Method

CreateChildParsingObject() public method

public CreateChildParsingObject ( ILocation location, string tagid, TagAttributes attributes ) : ParsingObject
location ILocation
tagid string
attributes TagAttributes
return ParsingObject
        public override ParsingObject CreateChildParsingObject(ILocation location, string tagid, TagAttributes attributes)
        {
            switch (mode) {
                case ParseChildrenMode.DefaultProperty:
                    //oops, we didn't need to tokenise this.
                    innerText += location.PlainText;
                    //how do we get end tag?
                    throw new NotImplementedException ("Inner default properties that look like tags have not been implemented yet.");
                case ParseChildrenMode.DefaultEncodedProperty:
                    innerText += System.Web.HttpUtility.HtmlDecode (location.PlainText);
                    //how do we get end tag?
                    throw new NotImplementedException ("Inner default properties that look like tags have not been implemented yet.");
                case ParseChildrenMode.Controls:
                    //html tags
                    if (tagid.IndexOf(':') == -1)
                        return new HtmlParsingObject (location.PlainText, tagid, this);
                    goto case ParseChildrenMode.DefaultCollectionProperty;
                case ParseChildrenMode.DefaultCollectionProperty:
                    string[] str = tagid.Split(':');
                    if (str.Length != 2)
                        throw new ParseException (location, "Server tag name is not of form prefix:name");

                    Type tagType = WebFormReferenceManager.GetObjectType(str[0], str[1]);
                    if (tagType == null)
                        throw new ParseException(location, "The tag " + tagid + "has not been registered");

                    return new ServerObjectParsingObject (tagType, attributes.GetDictionary(null), tagid, this);
                case ParseChildrenMode.Properties:
                    throw new NotImplementedException ("Multiple child properties have not yet been implemented.");
            }
            throw new ParseException (location, "Unexpected state encountered: ");
        }