Java tutorial
/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package fr.ritaly.dungeonmaster; import org.apache.commons.lang.Validate; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * A teleport defines an instant move from one position to another. During a * teleportation, the subject's position and / or look direction can be changed. * * @author <a href="mailto:francois.ritaly@gmail.com">Francois RITALY</a> */ public class Teleport { /** * The final position after teleporting the subject. */ private final Position position; /** * The final (look) direction after teleporting the subject. */ private final Direction direction; public Teleport(Position position, Direction direction) { Validate.notNull(position, "The given position is null"); Validate.notNull(direction, "The given direction is null"); this.position = position; this.direction = direction; } public Position getPosition() { return position; } public Direction getDirection() { return direction; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("position", position) .append("direction", direction).toString(); } }