org.apache.ojb.broker.metadata
Class ObjectReferenceDescriptor

java.lang.Object
  extended byorg.apache.ojb.broker.metadata.DescriptorBase
      extended byorg.apache.ojb.broker.metadata.AttributeDescriptorBase
          extended byorg.apache.ojb.broker.metadata.ObjectReferenceDescriptor
All Implemented Interfaces:
AttributeContainer, RepositoryElements, java.io.Serializable, XmlCapable
Direct Known Subclasses:
AnonymousObjectReferenceDescriptor, CollectionDescriptor

public class ObjectReferenceDescriptor
extends AttributeDescriptorBase
implements XmlCapable

Describes a Field containing a reference to another class. Provides handling for foreign keys etc.
Note: Be careful when use references of this class or caching instances of this class, because instances could become invalid (see MetadataManager).

Author:
Thomas Mahler
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.ojb.broker.metadata.AttributeDescriptorBase
m_ClassDescriptor, m_PersistentField
 
Fields inherited from interface org.apache.ojb.broker.metadata.RepositoryElements
_NEXT, ACCEPT_LOCKS, ACCESS, ATTRIBUTE, ATTRIBUTE_NAME, ATTRIBUTE_VALUE, AUTO_DELETE, AUTO_INCREMENT, AUTO_RETRIEVE, AUTO_UPDATE, BATCH_MODE, CLASS_DESCRIPTOR, CLASS_EXTENT, CLASS_NAME, CLASS_PROXY, CLASS_REF, COLLECTION_CLASS, COLLECTION_DESCRIPTOR, COLUMN_NAME, CON_LOG_ABANDONED, CON_MAX_ACTIVE, CON_MAX_IDLE, CON_MAX_WAIT, CON_MIN_EVICTABLE_IDLE_TIME_MILLIS, CON_NUM_TESTS_PER_EVICTION_RUN, CON_REMOVE_ABANDONED, CON_REMOVE_ABANDONED_TIMEOUT, CON_TEST_ON_BORROW, CON_TEST_ON_RETURN, CON_TEST_WHILE_IDLE, CON_TIME_BETWEEN_EVICTION_RUNS_MILLIS, CON_WHEN_EXHAUSTED_ACTION, CONNECTION_FACTORY, CONNECTION_POOL, CONSTANT_ARGUMENT, DATASOURCE_NAME, DBMS_NAME, DEFAULT_CONNECTION, DELETE_PROCEDURE, DOCUMENTATION, DRIVER_NAME, EAGER_RELEASE, EXTENDS, FACTORY_CLASS, FACTORY_METHOD, FIELD_CONVERSION, FIELD_DESCRIPTOR, FIELD_ID_REF, FIELD_NAME, FIELD_REF, FK_POINTING_TO_ITEMS_CLASS, FK_POINTING_TO_THIS_CLASS, FOREIGN_KEY, ID, IGNORE_AUTOCOMMIT_EXCEPTION, INCLUDE_ALL_FIELDS, INCLUDE_PK_FIELDS_ONLY, INDEX_COLUMN, INDEX_DESCRIPTOR, INDEXED, INDIRECTION_TABLE, INITIALIZATION_METHOD, INSERT_PROCEDURE, INVERSE_FK, ISOLATION_LEVEL, ITEMS_CLASS, JCD_ALIAS, JDBC_CONNECTION_DESCRIPTOR, JDBC_LEVEL, JDBC_TYPE, LENGTH, LOCKING, MAPPING_REPOSITORY, NAME, NULLABLE, OBJECT_CACHE, ORDERBY, OTM_DEPENDENT, PRECISION, PRIMARY_KEY, PROXY_PREFETCHING_LIMIT, PROXY_REFERENCE, QUERY_CUSTOMIZER, REFERENCE_DESCRIPTOR, REFERENCED_CLASS, REFRESH, REPOSITORY_VERSION, RETURN, RETURN_FIELD_REF, ROW_READER, RUNTIME_ARGUMENT, SCALE, SCHEMA_NAME, SEQUENCE_MANAGER, SEQUENCE_MANAGER_CLASS, SEQUENCE_NAME, SORT, TABLE_NAME, TAG_ACCESS, TAG_ACCESS_ANONYMOUS, TAG_ACCESS_READONLY, TAG_ACCESS_READWRITE, TAG_SUPER, UNIQUE, UPDATE_LOCK, UPDATE_PROCEDURE, URL_DBALIAS, URL_PROTOCOL, URL_SUBPROTOCOL, USE_AUTOCOMMIT, USER_NAME, USER_PASSWD, VALIDATION_QUERY, VALUE
 
Constructor Summary
ObjectReferenceDescriptor(ClassDescriptor descriptor)
           
 
Method Summary
 void addForeignKeyField(int newId)
          add a foreign key field ID
 void addForeignKeyField(java.lang.String newField)
          add a foreign key field
 boolean getCascadeDelete()
           
 boolean getCascadeRetrieve()
           
 boolean getCascadeStore()
           
 FieldDescriptor[] getForeignKeyFieldDescriptors(ClassDescriptor mif)
           
 java.util.Vector getForeignKeyFields()
           
 java.lang.Object[] getForeignKeyValues(java.lang.Object obj, ClassDescriptor mif)
           
 java.lang.Class getItemClass()
           
 java.lang.String getItemClassName()
           
 java.lang.Class getItemProxyClass()
           
 boolean getOtmDependent()
           
 int getProxyPrefetchingLimit()
           
 boolean isLazy()
          Gets the lazy.
 boolean isRefresh()
          Gets the refresh.
 void setCascadeDelete(boolean b)
           
 void setCascadeRetrieve(boolean b)
           
 void setCascadeStore(boolean b)
           
 void setForeignKeyFields(java.util.Vector vec)
           
 void setItemClass(java.lang.Class c)
          sets the item class
 void setLazy(boolean lazy)
          Sets the lazy.
 void setOtmDependent(boolean b)
           
 void setProxyPrefetchingLimit(int proxyPrefetchingLimit)
           
 void setRefresh(boolean refresh)
          Sets the refresh.
 java.lang.String toString()
           
 java.lang.String toXML()
          returns the XML marshalled version of this instance.
 
Methods inherited from class org.apache.ojb.broker.metadata.AttributeDescriptorBase
addAttribute, getAttribute, getAttribute, getAttributeName, getClassDescriptor, getPersistentField, setClassDescriptor, setPersistentField
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ObjectReferenceDescriptor

public ObjectReferenceDescriptor(ClassDescriptor descriptor)
Method Detail

getItemProxyClass

public java.lang.Class getItemProxyClass()
                                  throws PersistenceBrokerException
Throws:
PersistenceBrokerException

getForeignKeyFieldDescriptors

public FieldDescriptor[] getForeignKeyFieldDescriptors(ClassDescriptor mif)

getForeignKeyValues

public java.lang.Object[] getForeignKeyValues(java.lang.Object obj,
                                              ClassDescriptor mif)
                                       throws PersistenceBrokerException
Throws:
MetadataException - if an error occours while accessing ForeingKey values on obj
PersistenceBrokerException

getItemClass

public java.lang.Class getItemClass()

getItemClassName

public java.lang.String getItemClassName()
Returns:
the fully qualified name of the item class for this descriptor.

setItemClass

public void setItemClass(java.lang.Class c)
sets the item class

Parameters:
c - the items class object

getForeignKeyFields

public java.util.Vector getForeignKeyFields()

setForeignKeyFields

public void setForeignKeyFields(java.util.Vector vec)

addForeignKeyField

public void addForeignKeyField(int newId)
add a foreign key field ID


addForeignKeyField

public void addForeignKeyField(java.lang.String newField)
add a foreign key field


isRefresh

public boolean isRefresh()
Gets the refresh.

Returns:
Returns a boolean

setRefresh

public void setRefresh(boolean refresh)
Sets the refresh.

Parameters:
refresh - The refresh to set

isLazy

public boolean isLazy()
Gets the lazy.

Returns:
Returns a boolean

setLazy

public void setLazy(boolean lazy)
Sets the lazy.

Parameters:
lazy - The lazy to set

getCascadeRetrieve

public boolean getCascadeRetrieve()

setCascadeRetrieve

public void setCascadeRetrieve(boolean b)

getCascadeStore

public boolean getCascadeStore()

setCascadeStore

public void setCascadeStore(boolean b)

getCascadeDelete

public boolean getCascadeDelete()

setCascadeDelete

public void setCascadeDelete(boolean b)

getProxyPrefetchingLimit

public int getProxyPrefetchingLimit()

setProxyPrefetchingLimit

public void setProxyPrefetchingLimit(int proxyPrefetchingLimit)

getOtmDependent

public boolean getOtmDependent()

setOtmDependent

public void setOtmDependent(boolean b)

toString

public java.lang.String toString()
Overrides:
toString in class AttributeDescriptorBase

toXML

public java.lang.String toXML()
Description copied from interface: XmlCapable
returns the XML marshalled version of this instance.

Specified by:
toXML in interface XmlCapable
Returns:
the XML String representing this object.


Authors: Thomas Mahler and others. (C) 2000 - 2003 Apache Software Foundation
All rights reserved. Published under the Apache License.
http://db.apache.org/ojb
Version: 1.0.rc5, 2003-12-14