Class DiscriminatorColumnMetadata

  • Direct Known Subclasses:
    TenantDiscriminatorColumnMetadata

    public class DiscriminatorColumnMetadata
    extends MetadataColumn
    INTERNAL: Object to process a JPA discriminator column into an EclipseLink database field. Key notes: - any metadata mapped from XML to this class must be compared in the equals method. - when loading from annotations, the constructor accepts the metadata accessor this metadata was loaded from. Used it to look up any 'companion' annotation needed for processing. - methods should be preserved in alphabetical order.
    Since:
    TopLink EJB 3.0 Reference Implementation
    Author:
    Guy Pelletier
    • Constructor Detail

      • DiscriminatorColumnMetadata

        public DiscriminatorColumnMetadata()
        INTERNAL: Used for XML loading.
      • DiscriminatorColumnMetadata

        public DiscriminatorColumnMetadata​(MetadataAccessor accessor)
        INTERNAL: Used for defaulting.
      • DiscriminatorColumnMetadata

        public DiscriminatorColumnMetadata​(MetadataAnnotation discriminatorColumn,
                                           MetadataAccessor accessor)
        INTERNAL: Used for annotation loading.
      • DiscriminatorColumnMetadata

        protected DiscriminatorColumnMetadata​(String xmlElement)
        INTERNAL: Used for XML loading.
    • Method Detail

      • getDiscriminatorType

        public String getDiscriminatorType()
        INTERNAL: Used for OX mapping.
      • getLength

        public Integer getLength()
        INTERNAL: Used for OX mapping.
      • process

        public DatabaseField process​(MetadataDescriptor descriptor,
                                     String loggingCtx)
        INTERNAL: Process a discriminator column metadata into an EclipseLink DatabaseField. What is done with that field is up to the caller of this method.
      • setDiscriminatorType

        public void setDiscriminatorType​(String descriminatorType)
        INTERNAL: Used for OX mapping.
      • setLength

        public void setLength​(Integer length)
        INTERNAL: Used for OX mapping.