<?xml version="1.0" encoding="utf-8"?>
<!--

    This file is

    Copyright 2007,2008,2009,2010 Rustici Software, LLC
    Copyright 2010,2011 Kevin Glynn (kevin.glynn@twigletsoftware.com)

-->
<Class xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:www.twigletsoftware.com:schemas:txtemplate:1:0">
  <Imports />
  <Java>Enum</Java>
  <Name>System.Enum</Name>
  <Uses />
  <Inherits>
    <Type>System.Object</Type>
  </Inherits>
  <Methods>
    <Method>
      <Imports>
        <Import>CS2JNet.System.EnumSupport</Import>
      </Imports>
      <Java>EnumSupport.isDefined(${enumType}, ${value})</Java>
      <Params>
        <Param>
          <Type>System.Object</Type>
          <Name>enumType</Name>
        </Param>
        <Param>
          <Type>System.Object</Type>
          <Name>value</Name>
        </Param>
      </Params>
      <Name>IsDefined</Name>
      <Return>System.Boolean</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.EnumSupport</Import>
      </Imports>
      <Java>EnumSupport.toString(${this}, ${modifier})</Java>
      <Params>
        <Param>
          <Type>System.String</Type>
          <Name>modifier</Name>
        </Param>
      </Params>
      <Name>ToString</Name>
      <Return>System.String</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.EnumSupport</Import>
      </Imports>
      <Java>EnumSupport.Parse((Class*[? extends Enum]*)${enumType:15}, ${value})</Java>
      <Params>
        <Param>
          <Type>System.Type</Type>
          <Name>enumType</Name>
        </Param>
        <Param>
          <Type>System.String</Type>
          <Name>value</Name>
        </Param>
      </Params>
      <Name>Parse</Name>
      <Return>System.Object</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.EnumSupport</Import>
      </Imports>
      <Java>EnumSupport.Parse((Class*[? extends Enum]*)${enumType:15}, ${value}, ${ignoreCase})</Java>
      <Params>
        <Param>
          <Type>System.Type</Type>
          <Name>enumType</Name>
        </Param>
        <Param>
          <Type>System.String</Type>
          <Name>value</Name>
        </Param>
        <Param>
          <Type>System.Boolean</Type>
          <Name>ignoreCase</Name>
        </Param>
      </Params>
      <Name>Parse</Name>
      <Return>System.Object</Return>
    </Method>
  </Methods>
  <Properties />
  <Events />
  <Indexers />
  <Constructors />
  <Fields />
  <Casts>
    <Cast>
      <Imports />
      <Java>${to_type}.values()[${expr}]</Java>
      <From>System.Byte</From>
    </Cast>
    <Cast>
      <Imports />
      <Java>(byte)(((Enum)${expr}).ordinal())</Java>
      <From>System.Enum</From>
      <To>System.Byte</To>
    </Cast>
    <Cast>
      <Imports />
      <Java>${to_type}.values()[${expr}]</Java>
      <From>System.Int32</From>
    </Cast>
    <Cast>
      <Imports />
      <Java>((Enum)${expr}).ordinal()</Java>
      <From>System.Enum</From>
      <To>System.Int32</To>
    </Cast>
  </Casts>
  <UnaryOps />
  <BinaryOps />
</Class>