blob: bdd5525c9de7590fbadf839ebb5b08baf5d0c6e5 [file] [log] [blame]
/**
* Represents the inheritance of a class.
* @since 2.3
*/
public interface InheritanceMetadata extends Metadata {
/**
* Method to set the inheritance strategy.
*
* @param strategy The strategy
*/
InheritanceMetadata setStrategy(InheritanceStrategy strategy);
/**
* Accessor for the inheritance strategy.
*
* @return The strategy
*/
InheritanceStrategy getStrategy();
/**
* Method to set the custom inheritance strategy.
*
* @param strategy The strategy
*/
InheritanceMetadata setCustomStrategy(String strategy);
/**
* Accessor for the custom inheritance (overriding "strategy").
*
* @return The strategy
*/
String getCustomStrategy();
/**
* Method to define the new discriminator metadata.
*
* @return The DiscriminatorMetadata
*/
DiscriminatorMetadata newDiscriminatorMetadata();
/**
* Accessor for the discriminator (if any).
*
* @return Discriminator
*/
DiscriminatorMetadata getDiscriminatorMetaData();
/**
* Method to define the new join information
*
* @return The JoinMetadata
*/
JoinMetadata newJoinMetadata();
/**
* Accessor for the join (if any).
*
* @return Join information
*/
JoinMetadata getJoinMetaData();
}