Mercurial > repos > IBDev-IBBoard.WarFoundry.API
view api/Factories/Xml/WarFoundryXmlElementName.cs @ 50:bb6b993b98bf
Re #10 - Refactor for readability
* Re-order methods so that they are in the correct order to read the code from top to bottom
* Reduce visibility of methods where possible
* Make use of XMLTools class
* Refactor "can complete loading" checks in to single method
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 28 Mar 2009 20:51:06 +0000 |
parents | 306558904c2a |
children | 2f3cafb69799 |
line wrap: on
line source
// This file (WarFoundryXmlElementName.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2009 IBBoard. // // The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license. using System; using System.Collections.Generic; using IBBoard.Xml; namespace IBBoard.WarFoundry.API.Factories.Xml { /// <summary> /// An enumeration class for valid WarFoundry XML elements, designed to imitate Java's extensible complex object enumerations. /// </summary> public class WarFoundryXmlElementName : IXmlElementName, IExtendedEnum<string> { public static WarFoundryXmlElementName SYSTEM_ELEMENT = new WarFoundryXmlElementName("SYSTEM_ELEMENT", "system"); public static WarFoundryXmlElementName ARMY_ELEMENT = new WarFoundryXmlElementName("ARMY_ELEMENT", "army"); public static WarFoundryXmlElementName RACE_ELEMENT = new WarFoundryXmlElementName("RACE_ELEMENT", "race"); public static WarFoundryXmlElementName CATEGORIES_ELEMENT = new WarFoundryXmlElementName("CATEGORIES_ELEMENT", "categories"); public static WarFoundryXmlElementName CATEGORY_ELEMENT = new WarFoundryXmlElementName("CATEGORY_ELEMENT", "cat"); public static WarFoundryXmlElementName UNITTYPES_ELEMENT = new WarFoundryXmlElementName("UNITTYPES_ELEMENT", "units"); public static WarFoundryXmlElementName UNITTYPE_ELEMENT = new WarFoundryXmlElementName("UNITTYPE_ELEMENT", "unit"); public static WarFoundryXmlElementName RACE_EQUIPMENT_ITEMS_ELEMENT = new WarFoundryXmlElementName("RACE_EQUIPMENT_ITEMS_ELEMENT", "equipment"); public static WarFoundryXmlElementName RACE_EQUIPMENT_ITEM_ELEMENT = new WarFoundryXmlElementName("RACE_EQUIPMENT_ITEMS_ELEMENT", "equipmentItem"); private static ICollection<WarFoundryXmlElementName> enumValues; private string name; private string val; private WarFoundryXmlElementName(string elemName, string elemVal) { name = elemName; val = elemVal; } public string Name { get { return name; } } public string Value { get { return val; } } /// <summary> /// Gets an ICollection of the values so that they can be looped over like a standard enumeration. /// </summary> /// <returns> /// A <see cref="ICollection`1"/> of all of the static 'enumeration' values of the class. /// </returns> public static ICollection<WarFoundryXmlElementName> GetEnumValues() { if (enumValues == null) { enumValues = new WarFoundryXmlElementName[]{SYSTEM_ELEMENT, ARMY_ELEMENT, RACE_ELEMENT, CATEGORIES_ELEMENT, CATEGORY_ELEMENT, UNITTYPES_ELEMENT, UNITTYPE_ELEMENT}; } return enumValues; } } }