|
using System;
namespace AngleSharp.Css
{
/// <summary>
/// Represents a CSS keyword token.
/// </summary>
sealed class CssKeywordToken : CssToken
{
#region Members
String _data;
#endregion
#region ctor
/// <summary>
/// Creates a new CSS keyword token.
/// </summary>
/// <param name="type">The exact type.</param>
CssKeywordToken(CssTokenType type)
{
_type = type;
}
#endregion
#region Static constructors
/// <summary>
/// Creates a new CSS keyword token for a function.
/// </summary>
/// <param name="name">The name of the function.</param>
/// <returns>The created token.</returns>
public static CssKeywordToken Function(String name)
{
return new CssKeywordToken(CssTokenType.Function) { _data = name };
}
/// <summary>
/// Creates a new CSS keyword token for an identifier.
/// </summary>
/// <param name="identifier">The name of the identifier.</param>
/// <returns>The created token.</returns>
public static CssKeywordToken Ident(String identifier)
{
return new CssKeywordToken(CssTokenType.Ident) { _data = identifier };
}
/// <summary>
/// Creates a new CSS keyword token for an at-keyword.
/// </summary>
/// <param name="name">The name of the @-rule.</param>
/// <returns>The created token.</returns>
public static CssKeywordToken At(String name)
{
return new CssKeywordToken(CssTokenType.AtKeyword) { _data = name };
}
/// <summary>
/// Creates a new CSS keyword token for a hash token.
/// </summary>
/// <param name="characters">The contained characters.</param>
/// <returns>The created token.</returns>
public static CssKeywordToken Hash(String characters)
{
return new CssKeywordToken(CssTokenType.Hash) { _data = characters };
}
#endregion
#region Properties
/// <summary>
/// Gets the contained data.
/// </summary>
public String Data
{
get { return _data; }
}
#endregion
#region String representation
/// <summary>
/// Gets a string which represents the original value.
/// </summary>
/// <returns>The original value.</returns>
public override String ToValue()
{
switch (_type)
{
case CssTokenType.Hash:
return "#" + Data;
case CssTokenType.AtKeyword:
return "@" + Data;
}
return Data;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.
During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.
Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.