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}