package com.idega.slide.schema; import com.idega.util.dbschema.IndexImpl; /** * * * Last modified: $Date: 2006/04/11 15:12:46 $ by $Author: eiki $ * * @author <a href="mailto:aron@idega.com">aron</a> * @version $Revision: 1.3 $ */ public class ParentBindingSchema extends SlideSchema { /* CREATE TABLE "PARENT_BINDING" ( "URI_ID" NUMBER(10) NOT NULL, "NAME" VARCHAR2(512) NOT NULL, "PARENT_UURI_ID" NUMBER(10) NOT NULL, PRIMARY KEY("URI_ID", "NAME", "PARENT_UURI_ID"), FOREIGN KEY("URI_ID") REFERENCES "URI"("URI_ID"), FOREIGN KEY("PARENT_UURI_ID") REFERENCES "URI"("URI_ID") ) CACHE NOLOGGING; */ public ParentBindingSchema(){ super(); SlideSchemaColumn uriID = new SlideSchemaColumn(this); uriID.setDataTypeClass(Integer.class); uriID.setMaxLength(10); uriID.setPartOfPrimaryKey(true); uriID.setNullAllowed(false); uriID.setSQLFieldName("URI_ID"); uriID.setOneToManyEntity(new UriSchema()); SlideSchemaColumn parentUriID = new SlideSchemaColumn(this); parentUriID.setDataTypeClass(Integer.class); parentUriID.setMaxLength(10); parentUriID.setPartOfPrimaryKey(true); parentUriID.setNullAllowed(false); parentUriID.setSQLFieldName("PARENT_UURI_ID"); parentUriID.setOneToManyEntity(new UriSchema()); SlideSchemaColumn name = new SlideSchemaColumn(this); name.setDataTypeClass(String.class); name.setNullAllowed(false); name.setSQLFieldName("NAME"); name.setMaxLength(4000); addColumn(uriID,true); addColumn(name,true); addColumn(parentUriID,true); // CREATE INDEX parent_bind_idx1 ON parent_binding(name); // CREATE INDEX parent_bind_idx2 ON parent_binding(uri_id,parent_uuri_id); IndexImpl index1 = new IndexImpl("parent_bind_idx1",getSQLName()); index1.addField("NAME"); addIndex(index1); IndexImpl index2 = new IndexImpl("parent_bind_idx2", getSQLName()); index2.addField("URI_ID"); index2.addField("PARENT_UURI_ID"); addIndex(index2); } /* (non-Javadoc) * @see com.idega.slide.entity.SlideEntity#getSQLTableName() */ public String getSQLName() { return "PARENT_BINDING"; } }