package com.idega.data; import java.util.HashMap; /** * Title: idegaclasses * Description: * Copyright: Copyright (c) 2001 * Company: idega * @author <a href="tryggvi@idega.is">Tryggvi Larusson</a> * @version 1.0 */ public interface IDOEntityDefinition { public String getUniqueEntityName(); public String getSQLTableName(); public IDOEntityDefinition[] getManyToManyRelatedEntities(); public IDOEntityField[] getFields(); public IDOPrimaryKeyDefinition getPrimaryKeyDefinition(); public Class getInterfaceClass(); public IDOEntityField findFieldByUniqueName(String name); public String getMiddleTableNameForRelation(String relatedTable); public IDOEntityField[] findFieldByRelation(Class interfaceClass); /** * @return HashMap with the indexes for this Entity, where the KEY is indexName, * and VALUE is String[], containing columns * @throws NoIndexException is no indexes are specified */ public HashMap getIndexes() throws NoIndexException; public boolean hasAutoIncrementColumn(); public void setHasAutoIncrementColumn(boolean autoIncrementColumn); /** * @return Boolean.TRUE if active by default, Boolean.FALSE if inactive by default, null if system-default */ public Boolean isBeanCachingActive(); public void setBeanCachingActiveByDefault(boolean value); }