01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package javax.resource.cci;
23:
24: import javax.resource.ResourceException;
25:
26: /**
27: * The Interaction enables a component to execute functions on the underlying
28: * resource. An object implementing the Interaction interface supports two
29: * execute() methods for interacting with the underlying resource.
30: *
31: * An Interaction is created from a Connection and maintains an association
32: * with the Connection for its entire lifetime.
33: * @version $Revision: 57196 $
34: */
35: public interface Interaction {
36: /**
37: * Clears all warnings reported by this Interaction.
38: *
39: * @exception ResourceException Thrown if operation fails.
40: */
41: public void clearWarnings() throws ResourceException;
42:
43: /**
44: * Closes an interaction
45: *
46: * @exception ResourceException Thrown if operation fails.
47: */
48: public void close() throws ResourceException;
49:
50: /**
51: * Executes the interaction specified by the InteractionSpec with the
52: * specified input.
53: *
54: * @param spec Represents the target function on the underlying resource.
55: * @param input Input Record @returns Record Output if successful, null if
56: * not.
57: * @exception ResourceException Thrown if Interaction fails.
58: */
59: public Record execute(InteractionSpec spec, Record input)
60: throws ResourceException;
61:
62: /**
63: * Executes the interaction specified by the InteractionSpec with the
64: * specified input.
65: *
66: * @param spec Represents the target function on the underlying resource.
67: * @param input Input Record
68: * @param output Output record @returns boolean True if successful, false if
69: * not
70: * @exception ResourceException Thrown if Interaction fails.
71: */
72: public boolean execute(InteractionSpec spec, Record input,
73: Record output) throws ResourceException;
74:
75: /**
76: * Gets the connection associated with this interaction.
77: * @returns Connection Associated connection
78: *
79: */
80: public Connection getConnection();
81:
82: /**
83: * Gets the first warning for this interaction. @returns ResourceWarning
84: * First warning.
85: *
86: * @exception ResourceException Thrown if operation fails.
87: */
88: public ResourceWarning getWarnings() throws ResourceException;
89: }
|