001 /*
002 * file StpPartialResultsException.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * com.ibm.rational.wvcm.stp.StpPartialResultsException
008 *
009 * (C) Copyright IBM Corporation 2007, 2011. All Rights Reserved.
010 * Note to U.S. Government Users Restricted Rights: Use, duplication or
011 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
012 */
013
014 package com.ibm.rational.wvcm.stp;
015
016 import javax.wvcm.Resource;
017 import javax.wvcm.ResourceList;
018
019 /**
020 * An exception used to convey information about an operation that failed on
021 * some, but not necessarily all, resources processed by the operation.
022 */
023 public abstract class StpPartialResultsException extends StpPropertyException
024 {
025 /**
026 * Returns the list of resources on which the operation succeeded.
027 *
028 * @return A ResourceList containing a proxy for each resource on which
029 * the operation succeeded. Any requested properties will be defined by
030 * these proxies.
031 */
032 public ResourceList<?> resourceList()
033 {
034 return ((PartialResultsData)data()).resourceList();
035 }
036
037 /**
038 * Returns whether or not the ResourceList of successful resources and the
039 * list of nested exceptions account for all the resources
040 * that were supposed to be operated on. If this field is <b>true</b>,
041 * there may be resources on which the operation was not performed and hence
042 * are neither reported as succeeding or as failing; the failure mode of the
043 * operation was such that the remaining operands could not be processed.
044 *
045 * @return <b>true</b> if all the potential operands could not be enumerated;
046 * <b>false</b> if all the operands could be enumerated but the operation
047 * failed on at least one of them.
048 */
049 public boolean enumerationError()
050 {
051 return ((PartialResultsData)data()).enumerationError();
052 }
053
054 /**
055 * Constructs this exception object for its subclasses.
056 *
057 * @param resource The Resource argument to WvcmException
058 * @param reasonCode The ReasonCode argument to WvcmException
059 * @param nestedExceptions The Throwable[] argument to WvcmException
060 *
061 * @see javax.wvcm.WvcmException
062 */
063 protected StpPartialResultsException(Resource resource,
064 ReasonCode reasonCode,
065 Throwable[] nestedExceptions)
066 {
067 super(resource, reasonCode, nestedExceptions);
068 }
069
070 /**
071 * The interface for the data implementation object for this type of
072 * exception
073 */
074 public interface PartialResultsData extends PropertyData {
075 public boolean enumerationError();
076 public ResourceList<?> resourceList();
077 }
078 }