01: /**
02: * Objective Database Abstraction Layer (ODAL)
03: * Copyright (c) 2004, The ODAL Development Group
04: * All rights reserved.
05: * For definition of the ODAL Development Group please refer to LICENCE.txt file
06: *
07: * Distributable under LGPL license.
08: * See terms of license at gnu.org.
09: */package com.completex.objective.components.persistency;
10:
11: import com.completex.objective.components.persistency.transact.Transaction;
12:
13: /**
14: * @author Gennady Krizhevsky
15: */
16: public interface DelegatePersistentObjectFactory {
17:
18: AbstractPersistentObject newPersistentInstance(
19: Transaction transaction, Persistency persistency,
20: QueryFactory queryFactory, PersistentObject initiator)
21: throws OdalPersistencyException;
22:
23: void setDelegatePersistentObjects(
24: PersistentObject[] delegatePersistentObjects);
25:
26: void setDelegateValues(String[] delegateValues);
27:
28: void setDiscriminatorColumnName(String discriminatorColumnName);
29:
30: void setTransformer(DiscriminatorTransformer transformer);
31:
32: public static interface DiscriminatorTransformer {
33: Object transform(PersistentObject persistentObject);
34: }
35:
36: }
|