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.cmp2.lob;
023:
024: import java.rmi.RemoteException;
025: import java.util.Map;
026: import java.util.List;
027: import java.util.Set;
028: import javax.ejb.EJBObject;
029:
030: /**
031: * Renote interface for a LOBBean.
032: *
033: * @see javax.ejb.EJBObject
034: *
035: * @version <tt>$Revision: 57211 $</tt>
036: * @author <a href="mailto:steve@resolvesw.com">Steve Coy</a>
037: * @author <a href="mailto:alex@jboss.org">Alexey Loubyansky</a>
038: */
039: public interface LOB extends EJBObject {
040: /**
041: * Returns the primary key
042: * @return Integer
043: */
044: public Integer getId() throws RemoteException;
045:
046: /**
047: * Sets the primary key.
048: * @param id
049: */
050: public void setId(Integer id) throws RemoteException;
051:
052: /**
053: * Returns the large string attribute.
054: * @return String
055: */
056: public String getBigString() throws RemoteException;
057:
058: /**
059: * Sets the value of the large string attribute.
060: * The idea here is to store it in a CLOB object in associated database table
061: * so that we can check the container's LOB functionality properly.
062: * @param s
063: */
064: public void setBigString(String s) throws RemoteException;
065:
066: /**
067: * Returns the content of the large binary object.
068: * @return byte[]
069: */
070: public byte[] getBinaryData() throws RemoteException;
071:
072: /**
073: * Sets the content of the large binary object.
074: * The idea here is to store it in a BLOB objects in the associated database
075: * table so that we check the container's LOB functionality properly.
076: * @param data
077: */
078: public void setBinaryData(byte[] data) throws RemoteException;
079:
080: public Object getObjectField() throws RemoteException;
081:
082: public void setObjectField(Object obj) throws RemoteException;
083:
084: Map getMapField() throws RemoteException;
085:
086: void setMapField(Map map) throws RemoteException;
087:
088: List getListField() throws RemoteException;
089:
090: void setListField(List list) throws RemoteException;
091:
092: Set getSetField() throws RemoteException;
093:
094: void setSetField(Set set) throws RemoteException;
095:
096: ValueHolder getValueHolder() throws RemoteException;
097:
098: void setValueHolder(ValueHolder valueHolder) throws RemoteException;
099:
100: ValueHolder getCleanGetValueHolder() throws RemoteException;
101:
102: void setCleanGetValueHolder(ValueHolder valueHolder)
103: throws RemoteException;
104:
105: ValueHolder getStateFactoryValueHolder() throws RemoteException;
106:
107: void setStateFactoryValueHolder(ValueHolder valueHolder)
108: throws RemoteException;
109: }
|