Class CommonOptionsImpl

java.lang.Object
org.tentackle.model.impl.CommonOptionsImpl
All Implemented Interfaces:
Cloneable, Commented, CommonOptions
Direct Known Subclasses:
AttributeOptionsImpl, EntityOptionsImpl

public abstract class CommonOptionsImpl extends Object implements CommonOptions, Cloneable
Implementation of common options.
Author:
harald
  • Field Details

    • OPTION_NODECLARE

      public static final String OPTION_NODECLARE
      Suppresses the backing-field declaration in the generated persistence implementation. The column is still mapped (read from and written to the database), but no field is emitted, because the value is held elsewhere (e.g. a derived or superclass field).
      See Also:
    • OPTION_NOMETHOD

      public static final String OPTION_NOMETHOD
      Suppresses the getter and setter in the generated PDO interface and implementation. The attribute is still declared and persisted, just not exposed through accessors.
      See Also:
    • OPTION_NOCONSTANT

      public static final String OPTION_NOCONSTANT
      Suppresses the generated name constants for this element (the AN_/CN_ attribute- and column-name constants and the size constant).
      See Also:
    • OPTION_MUTE

      public static final String OPTION_MUTE
      Marks the element as mute: mapped to a database column but deliberately invisible to the PDO. No field, no accessors, no interface declaration, and excluded from snapshots and copies. Since persistence never touches it, a mute column must be nullable or carry a database default. Used for columns populated outside the object lifecycle (trigger, migration, hand-written code).
      See Also:
    • OPTION_SUPER

      public static final String OPTION_SUPER
      Marks the element as inherited from a non-modeled superclass. The generator uses the attribute (in queries, the domain key, etc.) but emits no field, name constant or accessors for it, because they already exist upstream. (Implies NODECLARE and NOMETHOD.)
      See Also:
    • OPTION_READONLY

      public static final String OPTION_READONLY
      Generates a getter only, no setter, so the application cannot modify the value. (The persistence layer still writes the column when the row is created.)
      See Also:
    • OPTION_WRITEONLY

      public static final String OPTION_WRITEONLY
      Generates a setter only, no getter, so the application cannot read the value back.
      See Also:
    • OPTION_TRIM_READ

      public static final String OPTION_TRIM_READ
      Truncates the string value to the column's size when reading it from the database.
      See Also:
    • OPTION_TRIM_WRITE

      public static final String OPTION_TRIM_WRITE
      Truncates the string value to the column's size when writing it to the database.
      See Also:
    • OPTION_TRIM

      public static final String OPTION_TRIM
      Truncates the string value to the column's size on both read and write (TRIMREAD + TRIMWRITE).
      See Also:
    • OPTION_MAPNULL

      public static final String OPTION_MAPNULL
      Maps null to a non-null sentinel (empty string or 0) in the database, so a nullable Java value can be stored in a NOT NULL column. The conversion is applied in both directions by the generated JDBC read/write code.
      See Also:
    • OPTION_BIND

      public static final String OPTION_BIND
      Annotates the generated accessors with @Bindable, making the property usable by the FX binding layer. Setting any of the binding options below implies this option.
      See Also:
    • BIND_SIZE

      public static final String BIND_SIZE
      Adds the maxcols binding option to the @Bindable annotation, limiting the bound input length to the column's size (and, where applicable, the numeric scale).
      See Also:
  • Constructor Details

    • CommonOptionsImpl

      public CommonOptionsImpl(SourceInfo sourceInfo)
      Creates options.
      Parameters:
      sourceInfo - the source info, null if none
  • Method Details

    • clone

      protected CommonOptionsImpl clone()
      Clones the options.
      Protected since subclasses' clone() methods are protected to enforce invocation via special clone methods with additional arguments.
      Overrides:
      clone in class Object
      Returns:
      the cloned options
    • getSourceInfo

      public SourceInfo getSourceInfo()
      Gets the source info.
      Returns:
      the info, null if unknown
    • applyOption

      public boolean applyOption(String option, Boolean ctrl) throws ModelException
      Applies given option string.
      Parameters:
      option - the option string
      ctrl - option control: true if turn option on, false if option off, null if on/off missing (defaults to on)
      Returns:
      true if applied, false if unknown option
      Throws:
      ModelException - if applying the option failed
    • processOption

      public boolean processOption(String option) throws ModelException
      Processes an option string.
      If the option string starts with ! or -, the option is considered to be turned off. If the option starts with '+' it is forced to be turned on. In all other cases it is left to the implementation of applyOption(java.lang.String, java.lang.Boolean) how the option should be treated.
      Parameters:
      option - the option string
      Returns:
      true if option applied, false if not known
      Throws:
      ModelException - if option malformed
    • processBindOption

      public void processBindOption(String option, boolean on)
      Processes a bind option.
      Parameters:
      option - the bind option
      on - true to add, else remove the option
    • getComment

      public String getComment()
      Description copied from interface: Commented
      Gets the short comment.
      Specified by:
      getComment in interface Commented
      Returns:
      the short comment, null if none
    • setComment

      public void setComment(String comment)
      Sets the comment.
      Parameters:
      comment - the comment
    • getLongComment

      public String getLongComment()
      Description copied from interface: Commented
      Gets the long comment.
      Specified by:
      getLongComment in interface Commented
      Returns:
      the long comment, null if none
    • setLongComment

      public void setLongComment(String longComment)
      Sets the long comment.
      Parameters:
      longComment - the long comment
    • getStereotypes

      public List<String> getStereotypes()
      Description copied from interface: CommonOptions
      Gets the list of custom stereotypes.
      Specified by:
      getStereotypes in interface CommonOptions
      Returns:
      the stereotypes
    • setStereotypes

      public void setStereotypes(List<String> stereotypes)
    • getBindOptions

      public String getBindOptions()
      Description copied from interface: CommonOptions
      The bind options.
      Specified by:
      getBindOptions in interface CommonOptions
      Returns:
      the bind options
    • setBindOptions

      public void setBindOptions(String bindOptions)
    • addBindOption

      public void addBindOption(String option)
      Adds a bind option.
      Parameters:
      option - the option
    • removeBindOption

      public void removeBindOption(String option)
      Removes a bind option.
      Parameters:
      option - the option
    • isNoDeclare

      public boolean isNoDeclare()
      Description copied from interface: CommonOptions
      No declaration code.
      Specified by:
      isNoDeclare in interface CommonOptions
      Returns:
      true if don't generate declaration
    • isNoMethod

      public boolean isNoMethod()
      Description copied from interface: CommonOptions
      No getter and setter methods.
      Specified by:
      isNoMethod in interface CommonOptions
      Returns:
      true if no accessor methods must be generated
    • isNoConstant

      public boolean isNoConstant()
      Description copied from interface: CommonOptions
      No constant strings.
      Specified by:
      isNoConstant in interface CommonOptions
      Returns:
      true if no name constants must be generated
    • isMute

      public boolean isMute()
      Description copied from interface: CommonOptions
      Element is mute.
      Specified by:
      isMute in interface CommonOptions
      Returns:
      true if not part of the pdo
    • isFromSuper

      public boolean isFromSuper()
      Description copied from interface: CommonOptions
      Declared in super class.
      Specified by:
      isFromSuper in interface CommonOptions
      Returns:
      true if element is derived from the super class
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: CommonOptions
      Element is read-only.
      Specified by:
      isReadOnly in interface CommonOptions
      Returns:
      true if element cannot be modified
    • isWriteOnly

      public boolean isWriteOnly()
      Description copied from interface: CommonOptions
      Element is write-only.
      Specified by:
      isWriteOnly in interface CommonOptions
      Returns:
      true if element cannot be read by application
    • getAccessScope

      public AccessScope getAccessScope()
      Description copied from interface: CommonOptions
      The access scope.
      Specified by:
      getAccessScope in interface CommonOptions
      Returns:
      the scope
    • isTrimRead

      public boolean isTrimRead()
      Description copied from interface: CommonOptions
      Trim on read from database.
      Specified by:
      isTrimRead in interface CommonOptions
      Returns:
      true if string is trimmed when read
    • isTrimWrite

      public boolean isTrimWrite()
      Description copied from interface: CommonOptions
      Trim on write to database.
      Specified by:
      isTrimWrite in interface CommonOptions
      Returns:
      true if string is trimmed on write
    • isMapNull

      public boolean isMapNull()
      Description copied from interface: CommonOptions
      Map null values to constant in database.
      Specified by:
      isMapNull in interface CommonOptions
      Returns:
      true if map null to non-null value
    • isBindable

      public boolean isBindable()
      Description copied from interface: CommonOptions
      Generate bindable annotation.
      Specified by:
      isBindable in interface CommonOptions
      Returns:
      true if bindable element
    • setAccessScope

      public void setAccessScope(AccessScope accessScope)
    • setBindable

      public void setBindable(boolean bind)
    • setMute

      public void setMute(boolean mute)
    • setFromSuper

      public void setFromSuper(boolean fromSuper)
    • setMapNull

      public void setMapNull(boolean mapNull)
    • setNoConstant

      public void setNoConstant(boolean noConstant)
    • setNoDeclare

      public void setNoDeclare(boolean noDeclare)
    • setNoMethod

      public void setNoMethod(boolean noMethod)
    • setReadOnly

      public void setReadOnly(boolean readOnly)
    • setTrimRead

      public void setTrimRead(boolean trimRead)
    • setTrimWrite

      public void setTrimWrite(boolean trimWrite)
    • setWriteOnly

      public void setWriteOnly(boolean writeOnly)
    • isAutoSelect

      public boolean isAutoSelect()
      Description copied from interface: CommonOptions
      Returns whether autoselect should be turned on.
      Specified by:
      isAutoSelect in interface CommonOptions
      Returns:
      true if autoselect
    • setAutoSelect

      public void setAutoSelect(boolean autoSelect)
    • isLowerCase

      public boolean isLowerCase()
      Description copied from interface: CommonOptions
      Returns whether lowercase conversion requested.
      Specified by:
      isLowerCase in interface CommonOptions
      Returns:
      true if lowercase
    • setLowerCase

      public void setLowerCase(boolean lowerCase)
    • isMaxCol

      public boolean isMaxCol()
      Description copied from interface: CommonOptions
      Returns true whether the maxcol binding option should be applied.
      Specified by:
      isMaxCol in interface CommonOptions
      Returns:
      true if maxcol
    • setMaxCol

      public void setMaxCol(boolean maxCol)
    • isUpperCase

      public boolean isUpperCase()
      Description copied from interface: CommonOptions
      Returns whether uppercase conversion requested.
      Specified by:
      isUpperCase in interface CommonOptions
      Returns:
      true if uppercase
    • setUpperCase

      public void setUpperCase(boolean upperCase)
    • getStripMode

      public org.tentackle.common.StripMode getStripMode()
      Description copied from interface: CommonOptions
      Gets the strip mode.
      Specified by:
      getStripMode in interface CommonOptions
      Returns:
      the strip mode, null if default
    • setStripMode

      public void setStripMode(org.tentackle.common.StripMode stripMode)
    • validate

      public void validate() throws ModelException
      Description copied from interface: CommonOptions
      Validates the options.
      Specified by:
      validate in interface CommonOptions
      Throws:
      ModelException - if validation failed
    • createModelException

      public ModelException createModelException(String message)