/* Wotonomy: OpenStep design patterns for pure Java applications. Copyright (C) 2001 Michael Powers This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see http://www.gnu.org */ package net.wotonomy.access; import net.wotonomy.control.EOQualifier; import net.wotonomy.foundation.NSArray; import net.wotonomy.foundation.NSDictionary; /** * Represents a single primitive operation in a database server. Can be insert, * update, delete, lock a row, or execute a stored procedure. * * @author ezamudio@nasoft.com * @author $Author: cgruber $ * @version $Revision: 894 $ */ public class EOAdaptorOperation { protected EOEntity _entity; protected NSArray _attributes; protected NSDictionary _changedValues; protected Throwable _exception; protected EOQualifier _qualifier; protected EOStoredProcedure _proc; protected int _adaptorOp; public EOAdaptorOperation(EOEntity entity) { super(); _entity = entity; } public void setAdaptorOperator(int adOp) { _adaptorOp = adOp; } public int adaptorOperator() { return _adaptorOp; } public void setAttributes(NSArray atts) { _attributes = atts; } public NSArray attributes() { return _attributes; } public void setChangedValues(NSDictionary values) { _changedValues = values; } public NSDictionary changedValues() { return _changedValues; } public int compareAdaptorOperation(EOAdaptorOperation op) { if (op.entity() != null && entity() != null) { if (!op.entity().name().equals(entity().name())) op.entity().name().compareTo(entity().name()); } if (adaptorOperator() < op.adaptorOperator()) return -1; if (adaptorOperator() > op.adaptorOperator()) return 1; return 0; } public EOEntity entity() { return _entity; } public void setException(Throwable t) { _exception = t; } public Throwable exception() { return _exception; } public void setQualifier(EOQualifier q) { _qualifier = q; } public EOQualifier qualifier() { return _qualifier; } public void setStoredProcedure(EOStoredProcedure sp) { _proc = sp; } public EOStoredProcedure storedProcedure() { return _proc; } } /* * $Log$ Revision 1.2 2006/02/16 16:47:13 cgruber Move some classes in to * "internal" packages and re-work imports, etc. * * Also use UnsupportedOperationExceptions where appropriate, instead of * WotonomyExceptions. * * Revision 1.1 2006/02/16 13:19:57 cgruber Check in all sources in * eclipse-friendly maven-enabled packages. * * Revision 1.1 2003/08/13 00:37:45 chochos an almost complete implementation of * the abstract adaptor-layer classes * */