001// Copyright 2006 by Basil Vandegriend.  All rights reserved.
002
003package com.basilv.examples.enums;
004
005public class TerrainUsage
006{
007  public static Terrain getFromString(String terrainId) {
008    return Terrain.valueOf(terrainId);
009  }
010
011  public static void main(String[] args) {
012
013    // Iterate through all terrain values
014    for (Terrain terrain : Terrain.values()) {
015      System.out
016        .println("Terrain: '" + terrain.getDisplayName() + "'"
017          + (terrain.blocksLineOfSight() ? " blocks line of sight"
018            : "")
019          + (terrain.preventsMovement() ? " prevents movement"
020            : "") 
021          + " Ordinal: " + terrain.ordinal() 
022          + " Identifier: " + terrain.name()
023          + ".");
024    }
025
026    // Iterate through all terrain values
027    for (Terrain terrain : Terrain.values()) {
028      System.out.println(
029          "Terrain ordinal=" + terrain.ordinal() 
030          + " Identifier=" + terrain.name());
031    }
032
033    // Given identifier, find corresponding terrain instance.
034    String terrainIdentifier = "WALL";
035    Terrain terrain = Terrain.valueOf(terrainIdentifier);
036    System.out.println("\nTerrain identifier '"
037      + terrainIdentifier + "' produces terrain "
038      + terrain.getDisplayName());
039  }
040}