| /** |
| * 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(); |
| } |