Open Source Repository

Home /hibernate/hibernate-3.2.7.ga | Repository Home



org/hibernate/metadata/CollectionMetadata.java
//$Id: CollectionMetadata.java 3890 2004-06-03 16:31:32Z steveebersole $
package org.hibernate.metadata;

import org.hibernate.type.Type;

/**
 * Exposes collection metadata to the application
 *
 @author Gavin King
 */
public interface CollectionMetadata {
  /**
   * The collection key type
   */
  public Type getKeyType();
  /**
   * The collection element type
   */
  public Type getElementType();
  /**
   * The collection index type (or null if the collection has no index)
   */
  public Type getIndexType();
  /**
   * Is this collection indexed?
   */
  public boolean hasIndex();
  /**
   * The name of this collection role
   */
  public String getRole();
  /**
   * Is the collection an array?
   */
  public boolean isArray();
  /**
   * Is the collection a primitive array?
   */
  public boolean isPrimitiveArray();
  /**
   * Is the collection lazily initialized?
   */
  public boolean isLazy();
}