001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.test.entityexc.interfaces;
023:
024: import java.rmi.RemoteException;
025: import javax.ejb.EJBObject;
026:
027: /**
028: * Remote interface of entity exception test bean.
029: *
030: * @author <a href="mailto:osh@sparre.dk">Ole Husgaard</a>
031: * @version $Revision: 57211 $
032: */
033: public interface EntityExc extends EJBObject {
034: /**
035: * Exception code for a {@link MyAppException].
036: * This may be used in the flags sent to various methods
037: * here, and in the home interface.
038: */
039: public final int EXC_MYAPPEXCEPTION = 1;
040:
041: /**
042: * Exception code for a <code>CreateException</code>.
043: * This may be used in the flags sent to various methods
044: * here, and in the home interface.
045: */
046: public final int EXC_CREATEEXCEPTION = 2;
047:
048: /**
049: * Exception code for a <code>EJBException</code>.
050: * This may be used in the flags sent to various methods
051: * here, and in the home interface.
052: */
053: public final int EXC_EJBEXCEPTION = 3;
054:
055: /**
056: * Flags exception code mask.
057: */
058: public final int F_EXC_MASK = 0xff;
059:
060: /**
061: * Flag telling that an exception should be thrown
062: * <em>after</em> the exception, and not before.
063: */
064: public final int F_THROW_BEFORE = 0x100;
065:
066: /**
067: * Flag telling that failure should not happen until the postCreate
068: * method. Ignored for non-create invocations.
069: */
070: public final int F_FAIL_POSTCREATE = 0x200;
071:
072: /**
073: * Flag telling that <code>context.setRollbackOnly</code> must be
074: * called before returning.
075: */
076: public final int F_SETROLLBACKONLY = 0x400;
077:
078: /**
079: * Text of Exception message thrown.
080: * We check this to make sure we get <i>our</i> Exception.
081: */
082: public final String EXCEPTION_TEXT = "Hello, cruel world.";
083:
084: /**
085: * Return the id of this instance.
086: */
087: public int getId() throws RemoteException;
088:
089: /**
090: * Return the value of this instance.
091: * This method really works.
092: */
093: public int getVal() throws RemoteException;
094:
095: /**
096: * Increment the value of this instance by one.
097: */
098: public void incrementVal() throws RemoteException;
099:
100: /**
101: * Increment the value of this instance by one, and fail according to
102: * the failure argument afterwards.
103: *
104: * This method has a Required transaction attribute.
105: */
106: public void incrementVal(int flags) throws MyAppException,
107: RemoteException;
108:
109: }
|