001 // Copyright 2006 by Basil Vandegriend. All rights reserved.
002
003 package com.basilv.examples.enums;
004
005 public 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 }