001/* 002 * ==================================================================== 003 * 004 * The Apache Software License, Version 1.1 005 * 006 * Copyright (c) 1999-2003 The Apache Software Foundation. All rights reserved. 007 * 008 * Redistribution and use in source and binary forms, with or without 009 * modification, are permitted provided that the following conditions are met: 010 * 011 * 1. Redistributions of source code must retain the above copyright notice, 012 * this list of conditions and the following disclaimer. 013 * 014 * 2. Redistributions in binary form must reproduce the above copyright notice, 015 * this list of conditions and the following disclaimer in the documentation 016 * and/or other materials provided with the distribution. 017 * 018 * 3. The end-user documentation included with the redistribution, if any, must 019 * include the following acknowledgement: "This product includes software 020 * developed by the Apache Software Foundation (http://www.apache.org/)." 021 * Alternately, this acknowledgement may appear in the software itself, if and 022 * wherever such third-party acknowledgements normally appear. 023 * 024 * 4. The names "The Jakarta Project", "Commons", and "Apache Software 025 * Foundation" must not be used to endorse or promote products derived from this 026 * software without prior written permission. For written permission, please 027 * contact apache@apache.org. 028 * 029 * 5. Products derived from this software may not be called "Apache" nor may 030 * "Apache" appear in their names without prior written permission of the Apache 031 * Software Foundation. 032 * 033 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, 034 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 035 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE 036 * SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 037 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 038 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 039 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 040 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 041 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 042 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 043 * ==================================================================== 044 * 045 * This software consists of voluntary contributions made by many individuals on 046 * behalf of the Apache Software Foundation. For more information on the Apache 047 * Software Foundation, please see <http://www.apache.org/>. 048 * 049 */ 050 051package org.apache.wicket.util.diff; 052 053import java.util.List; 054 055/** 056 * Holds a delete-delta between to revisions of a text. 057 * 058 * @version $Id: DeleteDelta.java,v 1.1 2006/03/12 00:24:21 juanca Exp $ 059 * @author <a href="mailto:juanco@suigeneris.org">Juanco Anez</a> 060 * @see Delta 061 * @see Diff 062 * @see Chunk 063 */ 064public class DeleteDelta extends Delta 065{ 066 /** 067 * Construct. 068 */ 069 DeleteDelta() 070 { 071 } 072 073 /** 074 * Construct. 075 * 076 * @param orig 077 */ 078 public DeleteDelta(final Chunk orig) 079 { 080 init(orig, null); 081 } 082 083 @Override 084 public void verify(final List<Object> target) throws PatchFailedException 085 { 086 if (!original.verify(target)) 087 { 088 throw new PatchFailedException(); 089 } 090 } 091 092 @Override 093 public void applyTo(final List<Object> target) 094 { 095 original.applyDelete(target); 096 } 097 098 @Override 099 public void toString(final StringBuilder s) 100 { 101 s.append(original.rangeString()); 102 s.append("d"); 103 s.append(revised.rcsto()); 104 s.append(Diff.NL); 105 original.toString(s, "< ", Diff.NL); 106 } 107 108 @Override 109 public void toRCSString(final StringBuilder s, final String EOL) 110 { 111 s.append("d"); 112 s.append(original.rcsfrom()); 113 s.append(" "); 114 s.append(original.size()); 115 s.append(EOL); 116 } 117 118 @Override 119 public void accept(final RevisionVisitor visitor) 120 { 121 visitor.visit(this); 122 } 123}