1 // ================================================================================================
3 // MediaWikiページの変数要素をあらわすモデルクラスソース</summary>
5 // <copyright file="MediaWikiVariable.cs" company="honeplusのメモ帳">
6 // Copyright (C) 2011 Honeplus. All rights reserved.</copyright>
9 // ================================================================================================
11 namespace Honememo.Wptscs.Parsers
14 using System.Collections.Generic;
16 using Honememo.Parsers;
17 using Honememo.Utilities;
20 /// MediaWikiページの変数要素をあらわすモデルクラスです。
22 public class MediaWikiVariable : AbstractElement
29 public static readonly string DelimiterStart = "{{{";
34 public static readonly string DelimiterEnd = "}}}";
41 /// 変数要素をあらわす空のインスタンスを生成する。
43 /// <param name="variable">変数。</param>
44 /// <param name="value">値。</param>
45 public MediaWikiVariable(string variable, IElement value = null)
47 this.Variable = variable;
58 public virtual string Variable
67 public virtual IElement Value
78 /// この要素を書式化した変数テキストを返す。
80 /// <returns>変数テキスト。</returns>
81 protected override string ToStringImpl()
84 StringBuilder b = new StringBuilder();
87 b.Append(MediaWikiVariable.DelimiterStart);
90 if (!String.IsNullOrEmpty(this.Variable))
92 b.Append(this.Variable);
96 if (this.Value != null)
99 b.Append(this.Value.ToString());
103 b.Append(MediaWikiVariable.DelimiterEnd);