Class TLfnCustomPropertyDefinitions.Builder

java.lang.Object
com.luciad.fusion.platform.model.properties.TLfnCustomPropertyDefinitions.Builder
Enclosing class:
TLfnCustomPropertyDefinitions

public static final class TLfnCustomPropertyDefinitions.Builder extends Object
A builder for a creating a TLfnCustomPropertyDefinitions instance. To create a new builder, use the TLfnCustomPropertyDefinitions.newBuilder() method.
Since:
2022.1
  • Method Details

    • addStringProperty

      public TLfnCustomPropertyDefinitions.Builder addStringProperty(String aPropertyName)
      Defines a property of type String. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addStringProperty(String, String, boolean) instead. Calling this method is equivalent to calling addStringProperty(aPropertyName, null, false);.

      Parameters:
      aPropertyName - the unique name of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addStringProperty

      public TLfnCustomPropertyDefinitions.Builder addStringProperty(String aPropertyName, String aPropertyDisplayName, boolean aQueryable)
      Defines a property of type String.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addStringProperty

      public TLfnCustomPropertyDefinitions.Builder addStringProperty(String aPropertyName, Set<String> aPossibleValues)
      Defines a property of type String that has a limited set of possible values. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addStringProperty(String, String, boolean) instead. Calling this method is equivalent to calling addStringProperty(aPropertyName, null, false);.

      Parameters:
      aPropertyName - the unique name of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
      Since:
      2024.0
    • addStringProperty

      public TLfnCustomPropertyDefinitions.Builder addStringProperty(String aPropertyName, String aPropertyDisplayName, Set<String> aPossibleValues, boolean aQueryable)
      Defines a property of type String, that has a limited set of possible values.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aPossibleValues - the possible values of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
      Since:
      2024.0
    • addBooleanProperty

      public TLfnCustomPropertyDefinitions.Builder addBooleanProperty(String aPropertyName)
      Defines a property of type Boolean. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addBooleanProperty(String, String, boolean) instead. Calling this method is equivalent to calling addBooleanProperty(aPropertyName, null, false);.

      Parameters:
      aPropertyName - the unique name of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addBooleanProperty

      public TLfnCustomPropertyDefinitions.Builder addBooleanProperty(String aPropertyName, String aPropertyDisplayName, boolean aQueryable)
      Defines a property of type Boolean.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addLongProperty

      public TLfnCustomPropertyDefinitions.Builder addLongProperty(String aPropertyName)
      Defines a property of type Long. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addLongProperty(String, String, boolean) instead. Calling this method is equivalent to calling addLongProperty(aPropertyName, null, false);.

      Parameters:
      aPropertyName - the unique name of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addLongProperty

      public TLfnCustomPropertyDefinitions.Builder addLongProperty(String aPropertyName, String aPropertyDisplayName, boolean aQueryable)
      Defines a property of type Long.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addLongProperty

      public TLfnCustomPropertyDefinitions.Builder addLongProperty(String aPropertyName, Set<Long> aPossibleValues)
      Defines a property of type Long, that has a limited set of possible values. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addLongProperty(String, String, Set, boolean) instead. Calling this method is equivalent to calling addLongProperty(aPropertyName, null, aPossibleValues, false);.

      Parameters:
      aPropertyName - the unique name of the property
      aPossibleValues - the possible values of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
      Since:
      2024.0
    • addLongProperty

      public TLfnCustomPropertyDefinitions.Builder addLongProperty(String aPropertyName, String aPropertyDisplayName, Set<Long> aPossibleValues, boolean aQueryable)
      Defines a property of type Long, that has a limited set of possible values.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aPossibleValues - the possible values of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
      Since:
      2024.0
    • addDoubleProperty

      public TLfnCustomPropertyDefinitions.Builder addDoubleProperty(String aPropertyName)
      Defines a property of type Double. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addDoubleProperty(String, String, boolean) instead. Calling this method is equivalent to calling addDoubleProperty(aPropertyName, null, false);.

      Parameters:
      aPropertyName - the unique name of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addDoubleProperty

      public TLfnCustomPropertyDefinitions.Builder addDoubleProperty(String aPropertyName, String aPropertyDisplayName, boolean aQueryable)
      Adds information about a property of type Double.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addDateProperty

      public TLfnCustomPropertyDefinitions.Builder addDateProperty(String aPropertyName)
      Defines a property of type Date. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      If the property needs to have a displayName, or if it needs to be queryable, then use addDateProperty(String, String, boolean) instead. Calling this method is equivalent to calling addDateProperty(aPropertyName, null, false);.

      Parameters:
      aPropertyName - the unique name of the property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addDateProperty

      public TLfnCustomPropertyDefinitions.Builder addDateProperty(String aPropertyName, String aPropertyDisplayName, boolean aQueryable)
      Defines a property of type Date.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_').

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addEnumProperty

      @Deprecated public TLfnCustomPropertyDefinitions.Builder addEnumProperty(String aPropertyName, Set<String> aPossibleValues)
      Deprecated.
      as of release 2024.0, Use addStringProperty(String, Set) instead.
      Defines a property of type String with a predefined set of possible values. The property will not be queryable and will not have a displayName.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_'). The provided set of possible values cannot be null, be empty, or contain a null value. The possible values need to be unique (case-sensitive).

      If the property needs to have a displayName, or if it needs to be queryable, then use addEnumProperty(String, String, Set, boolean) instead. Calling this method is equivalent to calling addEnumProperty(aPropertyName, null, aPossibleValues, false);.

      Parameters:
      aPropertyName - the unique name of the property
      aPossibleValues - the possible values of the enum property
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • addEnumProperty

      @Deprecated public TLfnCustomPropertyDefinitions.Builder addEnumProperty(String aPropertyName, String aPropertyDisplayName, Set<String> aPossibleValues, boolean aQueryable)
      Deprecated.
      as of release 2024.0. Use addStringProperty(String, String, Set, boolean) instead.
      Defines a property of type String with a predefined set of possible values.

      The name of the property can only contain letters, digits, periods ('.'), dashes ('-'), and underscores ('_'). The provided set of possible values cannot be null, be empty, or contain a null value. The possible values need to be unique (case-sensitive).

      Parameters:
      aPropertyName - the unique name of the property
      aPropertyDisplayName - the displayName of the property
      aPossibleValues - the possible values of the enum property
      aQueryable - indicates if this property is queryable or not
      Returns:
      the builder that can be used to add information about more properties
      Throws:
      TLfnCustomPropertyInvalidNameException - if the name of the property is not valid
    • build

      Builds the TLfnCustomPropertyDefinitions object. This method validates that all properties that have been defined use a unique name. An IllegalArgumentException is thrown if this is not the case.
      Returns:
      the custom property definitions
      Throws:
      IllegalArgumentException - if duplicate property names are found