1 /* 2 * ==================================================================== 3 * 4 * The Apache Software License, Version 1.1 5 * 6 * Copyright (c) 1999-2003 The Apache Software Foundation. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in 18 * the documentation and/or other materials provided with the 19 * distribution. 20 * 21 * 3. The end-user documentation included with the redistribution, if 22 * any, must include the following acknowledgement: 23 * "This product includes software developed by the 24 * Apache Software Foundation (http://www.apache.org/)." 25 * Alternately, this acknowledgement may appear in the software itself, 26 * if and wherever such third-party acknowledgements normally appear. 27 * 28 * 4. The names "The Jakarta Project", "Commons", and "Apache Software 29 * Foundation" must not be used to endorse or promote products derived 30 * from this software without prior written permission. For written 31 * permission, please contact apache@apache.org. 32 * 33 * 5. Products derived from this software may not be called "Apache" 34 * nor may "Apache" appear in their names without prior written 35 * permission of the Apache Software Foundation. 36 * 37 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 39 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 40 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 41 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 42 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 43 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 44 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 45 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 46 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 47 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 48 * SUCH DAMAGE. 49 * ==================================================================== 50 * 51 * This software consists of voluntary contributions made by many 52 * individuals on behalf of the Apache Software Foundation. For more 53 * information on the Apache Software Foundation, please see 54 * <http://www.apache.org/>. 55 * 56 */ 57 58 package org.apache.commons.jrcs.diff.myers; 59 60 /** 61 * Represents a snake in a diffpath. 62 * <p> 63 * 64 * {@link DiffNode DiffNodes} and {@link Snake Snakes} allow for compression 65 * of diffpaths, as each snake is represented by a single {@link Snake Snake} 66 * node and each contiguous series of insertions and deletions is represented 67 * by a single {@link DiffNode DiffNodes}. 68 * 69 * @version $Revision: 1.1 $ $Date: 2004/10/06 09:47:23 $ 70 * @author <a HREF="mailto:juanco@suigeneris.org">Juanco Anez</a> 71 * 72 */ 73 public final class Snake 74 extends PathNode 75 { 76 /** 77 * Constructs a snake node. 78 * 79 * @param the position in the original sequence 80 * @param the position in the revised sequence 81 * @param prev the previous node in the path. 82 */ 83 public Snake(int i, int j, PathNode prev) 84 { 85 super(i, j, prev); 86 } 87 88 /** 89 * {@inheritDoc} 90 * @return true always 91 */ 92 public boolean isSnake() 93 { 94 return true; 95 } 96 97 }