001: /*****************************************************************************
002: * Source code information
003: * -----------------------
004: * Original author Ian Dickinson, HP Labs Bristol
005: * Author email Ian.Dickinson@hp.com
006: * Package Jena 2
007: * Web http://sourceforge.net/projects/jena/
008: * Created 16-Jun-2003
009: * Filename $RCSfile: EmptyListUpdateException.java,v $
010: * Revision $Revision: 1.7 $
011: * Release status $State: Exp $
012: *
013: * Last modified on $Date: 2008/01/02 12:05:48 $
014: * by $Author: andy_seaborne $
015: *
016: * (c) Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
017: * (see footer for full conditions)
018: *****************************************************************************/package com.hp.hpl.jena.rdf.model;
019:
020: // Imports
021: ///////////////
022: import com.hp.hpl.jena.shared.JenaException;
023:
024: /**
025: * <p>
026: * Exception that is thrown when an attept is made to perform a side-effectful
027: * operation on an {@link RDFList} that is the empty list, or <code>rdf:nil</code>.
028: * This is not permissible, since it would cause the URI of the RDFList to change
029: * from <code>rdf:nil</code> to a new bNode, and in Jena the URI of a node is
030: * invariant. To avoid this operation, when extending an empty list use operations
031: * that return the updated list (such as {@link RDFList#cons}, or {@link RDFList#with},
032: * or check first to see if the list {@linkplain RDFList#isEmpty is empty}, and replace
033: * it with a non-null list.
034: * </p>
035: *
036: * @author Ian Dickinson, HP Labs
037: * (<a href="mailto:Ian.Dickinson@hp.com" >email</a>)
038: * @version CVS $Id: EmptyListUpdateException.java,v 1.7 2008/01/02 12:05:48 andy_seaborne Exp $
039: */
040: public class EmptyListUpdateException extends JenaException {
041: // Constants
042: //////////////////////////////////
043:
044: // Static variables
045: //////////////////////////////////
046:
047: // Instance variables
048: //////////////////////////////////
049:
050: // Constructors
051: //////////////////////////////////
052:
053: public EmptyListUpdateException() {
054: }
055:
056: public EmptyListUpdateException(String message) {
057: super (message);
058: }
059:
060: // External signature methods
061: //////////////////////////////////
062:
063: // Internal implementation methods
064: //////////////////////////////////
065:
066: //==============================================================================
067: // Inner class definitions
068: //==============================================================================
069:
070: }
071:
072: /*
073: (c) Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
074: All rights reserved.
075:
076: Redistribution and use in source and binary forms, with or without
077: modification, are permitted provided that the following conditions
078: are met:
079:
080: 1. Redistributions of source code must retain the above copyright
081: notice, this list of conditions and the following disclaimer.
082:
083: 2. Redistributions in binary form must reproduce the above copyright
084: notice, this list of conditions and the following disclaimer in the
085: documentation and/or other materials provided with the distribution.
086:
087: 3. The name of the author may not be used to endorse or promote products
088: derived from this software without specific prior written permission.
089:
090: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
091: IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
092: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
093: IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
094: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
095: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
096: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
097: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
098: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
099: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
100: */
|