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, 2008. 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 import javax.wvcm.WvcmException;
019 import javax.wvcm.PropertyNameList.PropertyName;
020
021 /**
022 * An exception used to convey information about an operation that failed on
023 * some, but not necessarily all, resources processed by the operation.
024 */
025 public abstract class StpPartialResultsException extends StpPropertyException
026 {
027 /**
028 * Returns the list of resources on which the operation succeeded.
029 *
030 * @return A ResourceList containing a proxy for each resource on which
031 * the operation succeeded. Any requested properties will be defined by
032 * these proxies.
033 */
034 public ResourceList<Resource> resourceList()
035 {
036 return ((PartialResultsData)data()).resourceList();
037 }
038
039 /**
040 * Returns whether or not the ResourceList of successful resources and the
041 * list of nested exceptions account for all the resources
042 * that were supposed to be operated on. If this field is <b>true</b>,
043 * there may be resources on which the operation was not performed and hence
044 * are neither reported as succeeding or as failing; the failure mode of the
045 * operation was such that the remaining operands could not be processed.
046 *
047 * @return <b>true</b> if all the potential operands could not be enumerated;
048 * <b>false</b> if all the operands could be enumerated but the operation
049 * failed on at least one of them.
050 */
051 public boolean enumerationError()
052 {
053 return ((PartialResultsData)data()).enumerationError();
054 }
055
056 /**
057 * Constructs this exception object for its subclasses.
058 *
059 * @param resource The Resource argument to WvcmException
060 * @param reasonCode The ReasonCode argument to WvcmException
061 * @param nestedExceptions The Throwable[] argument to WvcmException
062 *
063 * @see javax.wvcm.WvcmException
064 */
065 protected StpPartialResultsException(Resource resource,
066 ReasonCode reasonCode,
067 Throwable[] nestedExceptions)
068 {
069 super(resource, reasonCode, nestedExceptions);
070 }
071
072 /**
073 * The interface for the data implementation object for this type of
074 * exception
075 */
076 public interface PartialResultsData extends PropertyData {
077 public boolean enumerationError();
078 public ResourceList<Resource> resourceList();
079 }
080 }