Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.jdbc.meta.strats
Class AbstractDiscriminatorStrategy

    java.lang.Object
      org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
          org.apache.openjpa.jdbc.meta.strats.AbstractDiscriminatorStrategy

All Implemented Interfaces:
  Serializable, DiscriminatorStrategy, Strategy

Direct Known Subclasses:
  InValueDiscriminatorStrategy, NoneDiscriminatorStrategy, SubclassJoinDiscriminatorStrategy, SuperclassDiscriminatorStrategy

    public abstract class AbstractDiscriminatorStrategy

extends AbstractStrategy
implements DiscriminatorStrategy

No-op strategy for easy extension.

Author:
  Abe White
See Also:
  Serialized Form

Field Summary
`protected Discriminator` | `disc` The owning discriminator.
`protected boolean` | `isFinal` Whether the owning class is final.

Constructor Summary
`AbstractDiscriminatorStrategy()`

Method Summary
`Class` | `getClass(JDBCStore store, ClassMapping base, Result result)` Return the class for the current result row.
`SQLBuffer` | `getClassConditions(Select sel, Joins joins, ClassMapping base, boolean subs)` Return SQL to limit the classes selected as much as possible to the given base class, and optionally its subclasses.
`boolean` | `hasClassConditions(ClassMapping base, boolean subs)` Whether any class conditions are necessary.
`void` | `loadSubclasses(JDBCStore store)` By default, logs a warning that this discriminator cannot calculate its list of subclasses on its own.
`boolean` | `select(Select sel, ClassMapping mapping)` Select the data for this Discriminator.
`void` | `setDiscriminator(Discriminator owner)` Set the Discriminator that uses this strategy.

Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
`customDelete, customInsert, customUpdate, delete, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, map, update`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.openjpa.jdbc.meta.Strategy
`customDelete, customInsert, customUpdate, delete, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, map, update`

Field Detail

### disc

    protected Discriminator disc

  The owning discriminator.

### isFinal

    protected boolean isFinal

  Whether the owning class is final.

Constructor Detail

### AbstractDiscriminatorStrategy

    public AbstractDiscriminatorStrategy()

Method Detail

### setDiscriminator

    public void setDiscriminator(Discriminator owner)

  Description copied from interface: `DiscriminatorStrategy`
  Set the Discriminator that uses this strategy. This will be called before use.

  Specified by:
    `setDiscriminator` in interface `DiscriminatorStrategy`

### select

    public boolean select(Select sel,
                          ClassMapping mapping)

  Description copied from interface: `DiscriminatorStrategy`
  Select the data for this Discriminator.

  Specified by:
    `select` in interface `DiscriminatorStrategy`
    `mapping` - the known base class being selected; this may not be the base class in the inheritance hierarchy
  Returns:
    true if anything was selected; false otherwise

### loadSubclasses

    public void loadSubclasses(JDBCStore store)
                        throws SQLException,
                               ClassNotFoundException

  By default, logs a warning that this discriminator cannot calculate its list of subclasses on its own.

  Specified by:
    `loadSubclasses` in interface `DiscriminatorStrategy`
  Throws:
    `SQLException`
    `ClassNotFoundException`

### getClass

    public Class getClass(JDBCStore store,
                          ClassMapping base,
                          Result result)
                   throws SQLException,
                          ClassNotFoundException

  Description copied from interface: `DiscriminatorStrategy`
  Return the class for the current result row.

  Specified by:
    `getClass` in interface `DiscriminatorStrategy`
  Throws:
    `SQLException`
    `ClassNotFoundException`

### hasClassConditions

    public boolean hasClassConditions(ClassMapping base,
                                      boolean subs)

  Description copied from interface: `DiscriminatorStrategy`
  Whether any class conditions are necessary.

  Specified by:
    `hasClassConditions` in interface `DiscriminatorStrategy`
  See Also:
    `DiscriminatorStrategy.getClassConditions(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.sql.Joins, org.apache.openjpa.jdbc.meta.ClassMapping, boolean)`

### getClassConditions

    public SQLBuffer getClassConditions(Select sel,
                                        Joins joins,
                                        ClassMapping base,
                                        boolean subs)

  Description copied from interface: `DiscriminatorStrategy`
  Return SQL to limit the classes selected as much as possible to the given base class, and optionally its subclasses. The select and joins instances are supplied in order to get column aliases.

  Specified by:
    `getClassConditions` in interface `DiscriminatorStrategy`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.