package it.nch.yava.rte.wfm.services.mapper;/** * This operation is served by an asynchronous process. */public class AsyncBPELProcessInfoSupplier extends ServiceInfoSupplier { private final String processName; private final boolean externalOperation; private final String servedQueueId; public AsyncBPELProcessInfoSupplier(final String processName, final boolean externalOperation, final String servedQueueId) { checkParametersForValidity(processName, externalOperation, servedQueueId); this.processName = processName; this.externalOperation = externalOperation; this.servedQueueId = servedQueueId; } private void checkParametersForValidity(String processName, boolean externalOperation, String servedQueueId) { if (processName == null || servedQueueId == null) { throw new IllegalArgumentException("Arguments in AsyncBPELProcessInfoSupplier cannot be null!"); } } /** * @return The process serving this operation */ public String getProcessName() { return processName; } /** * @return Returns if the process serves an "external" operation, * i.e. an external queue. */ public boolean isExternalOperation() { return externalOperation; } /** * @return Returns the queue id from which the process read * its input. */ public String getServedQueueId() { return servedQueueId; } public void accept(Visitor v) { v.visit(this); } @Override public boolean equals(Object obj) { boolean result = false; if (obj instanceof AsyncBPELProcessInfoSupplier) { AsyncBPELProcessInfoSupplier suppl = (AsyncBPELProcessInfoSupplier)obj; result = processName.equals(suppl.processName) && servedQueueId.equals(suppl.servedQueueId) && externalOperation == suppl.externalOperation; } return result; } @Override public int hashCode() { int result = 17; result *= 37 + processName.hashCode(); result *= 37 + servedQueueId.hashCode(); result *= 37 + (externalOperation ? 1 : 0); return result; } @Override public String toString() { return "processName=[" + processName + "] servedQueueId=[" + servedQueueId + "] externalOperation=[" + externalOperation + "]"; }}