com.holonplatform.core.property

## Interface NumericProperty<N extends Number>

- Type Parameters:
    `N` - Property type
  All Superinterfaces:
    CloneableProperty<N,PathProperty<N>,PathProperty.Builder<N,PathProperty<N>,?>>, CloneableProperty.CloneablePathProperty<N,PathProperty<N>>, ConverterExpression<N>, DataMappable, Expression, HasConfiguration<PropertyConfiguration>, Localizable, NumericQueryExpression<N>, Path<N>, PathExpression<N>, PathProperty<N>, Property<N>, QueryExpression<N>, QueryProjection<N>, Serializable, TypedExpression<N>, Validator.Validatable<N>
  All Known Subinterfaces:
    NumericBeanProperty<N>, NumericProperty.NumericPropertyBuilder<N>

      public interface NumericProperty<N extends Number>
      extends PathProperty<N>, NumericQueryExpression<N>

  A numeric type `PathProperty`.

  Extends `NumericQueryExpression` to provide `Number` type related query expression builder methods.

  Since:
    5.1.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `NumericProperty.NumericPropertyBuilder<N extends Number>` `NumericProperty` builder.

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.PathProperty

      `PathProperty.Builder<T,P extends Path<T> & Property<T>,B extends PathProperty.Builder<T,P,B>>, PathProperty.PathPropertyBuilder<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.CloneableProperty

      `CloneableProperty.CloneablePathProperty<T,P extends Property<T> & Path<T>>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.Property

      `Property.PropertyAccessException, Property.PropertyNotFoundException, Property.PropertyReadException, Property.PropertyReadOnlyException, Property.PropertyWriteException`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.i18n.Localizable

      `Localizable.LocalizableBuilder, Localizable.LocalizationException`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Expression

      `Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>, Expression.InvalidExpressionException`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Path

      `Path.FinalPath<T>, Path.PathBuilder<T>`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.core.Path

      `PATH_HIERARCHY_SEPARATOR`

    - ### Fields inherited from interface com.holonplatform.core.DataMappable

      `DEFAULT_CONFIG_PROPERTY_PREFIX, PATH`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static NumericProperty.NumericPropertyBuilder<BigDecimal>` | `bigDecimalType(String name)` Create a new `BigDecimal` type `NumericProperty`.
    `static NumericProperty.NumericPropertyBuilder<BigInteger>` | `bigIntegerType(String name)` Create a new `BigInteger` type `NumericProperty`.
    `static NumericProperty.NumericPropertyBuilder<Byte>` | `byteType(String name)` Create a new `Byte` type `NumericProperty`.
    `NumericProperty<N>` | `clone(Consumer<PathProperty.Builder<N,PathProperty<N>,?>> builder)` Clone this property.
    `static <T extends Number> NumericProperty.NumericPropertyBuilder<T>` | `create(Path<T> path)` Create a new `NumericProperty` from given `path`, using given `Path` `name`and `type`.
    `static <T extends Number> NumericProperty.NumericPropertyBuilder<T>` | `create(String name, Class<? extends T> type)` Create a new `NumericProperty` with given `name` and `type`.
    `static NumericProperty.NumericPropertyBuilder<Double>` | `doubleType(String name)` Create a new `Double` type `NumericProperty`.
    `static NumericProperty.NumericPropertyBuilder<Float>` | `floatType(String name)` Create a new `Float` type `NumericProperty`.
    `static NumericProperty.NumericPropertyBuilder<Integer>` | `integerType(String name)` Create a new `Integer` type `NumericProperty`.
    `static NumericProperty.NumericPropertyBuilder<Long>` | `longType(String name)` Create a new `Long` type `NumericProperty`.
    `static NumericProperty.NumericPropertyBuilder<Short>` | `shortType(String name)` Create a new `Short` type `NumericProperty`.

    - ### Methods inherited from interface com.holonplatform.core.property.PathProperty

      `isReadOnly`

    - ### Methods inherited from interface com.holonplatform.core.property.Property

      `getConfiguration, getConvertedValue, getConverter, getExpressionValueConverter, getName, getTemporalType, getType, present, render, renderIfAvailable`

    - ### Methods inherited from interface com.holonplatform.core.Validator.Validatable

      `getValidators, validate`

    - ### Methods inherited from interface com.holonplatform.core.i18n.Localizable

      `builder, getMessage, getMessageArguments, getMessageCode, of, of`

    - ### Methods inherited from interface com.holonplatform.core.HasConfiguration

      `hasConfiguration`

    - ### Methods inherited from interface com.holonplatform.core.ConverterExpression

      `getModelType, getModelValue`

    - ### Methods inherited from interface com.holonplatform.core.TypedExpression

      `isCollectionExpression, isConverterExpression`

    - ### Methods inherited from interface com.holonplatform.core.Expression

      `validate`

    - ### Methods inherited from interface com.holonplatform.core.query.PathExpression

      `asc, desc, from`

    - ### Methods inherited from interface com.holonplatform.core.Path

      `fullName, fullName, getName, getParent, isRootPath, of, relativeName, relativeName, stream`

    - ### Methods inherited from interface com.holonplatform.core.DataMappable

      `getDataPath, isDataMappable`

    - ### Methods inherited from interface com.holonplatform.core.query.QueryExpression

      `between, count, eq, eq, goe, goe, gt, gt, in, in, in, isNotNull, isNull, loe, loe, lt, lt, max, min, neq, neq, nin, nin, nin`

    - ### Methods inherited from interface com.holonplatform.core.query.QueryProjection

      `bean, constant, countAll, path, propertySet, propertySet`

    - ### Methods inherited from interface com.holonplatform.core.query.NumericQueryExpression

      `avg, sum`

- - ### Method Detail

    - #### clone

          NumericProperty<N> clone(Consumer<PathProperty.Builder<N,PathProperty<N>,?>> builder)

      Clone this property.
      Specified by:
        `clone` in interface `CloneableProperty<N extends Number,PathProperty<N extends Number>,PathProperty.Builder<N extends Number,PathProperty<N extends Number>,?>>`
      Parameters:
        `builder` - A property builder which can be used to perform additional property configuration
      Returns:
        The cloned property

    - #### create

          static <T extends Number> NumericProperty.NumericPropertyBuilder<T> create(String name,
                                                                                     Class<? extends T> type)

      Create a new `NumericProperty` with given `name` and `type`.
      Specified by:
        `create` in interface `PathExpression<N extends Number>`
      Specified by:
        `create` in interface `PathProperty<N extends Number>`
      Type Parameters:
        `T` - Property (path) type
      Parameters:
        `name` - Property name (not null)
        `type` - Property value type (not null)
      Returns:
        `NumericProperty` builder

    - #### create

          static <T extends Number> NumericProperty.NumericPropertyBuilder<T> create(Path<T> path)

      Create a new `NumericProperty` from given `path`, using given `Path` `name`and `type`.
      Specified by:
        `create` in interface `PathProperty<N extends Number>`
      Type Parameters:
        `T` - Path type
      Parameters:
        `path` - Path from which to obtain the property path name and type (not null)
      Returns:
        `NumericProperty` builder

    - #### integerType

          static NumericProperty.NumericPropertyBuilder<Integer> integerType(String name)

      Create a new `Integer` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### longType

          static NumericProperty.NumericPropertyBuilder<Long> longType(String name)

      Create a new `Long` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### doubleType

          static NumericProperty.NumericPropertyBuilder<Double> doubleType(String name)

      Create a new `Double` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### floatType

          static NumericProperty.NumericPropertyBuilder<Float> floatType(String name)

      Create a new `Float` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### shortType

          static NumericProperty.NumericPropertyBuilder<Short> shortType(String name)

      Create a new `Short` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### byteType

          static NumericProperty.NumericPropertyBuilder<Byte> byteType(String name)

      Create a new `Byte` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### bigDecimalType

          static NumericProperty.NumericPropertyBuilder<BigDecimal> bigDecimalType(String name)

      Create a new `BigDecimal` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

    - #### bigIntegerType

          static NumericProperty.NumericPropertyBuilder<BigInteger> bigIntegerType(String name)

      Create a new `BigInteger` type `NumericProperty`.
      Parameters:
        `name` - Property name (not null)
      Returns:
        `NumericProperty` builder

Copyright © 2019 The Holon Platform. All rights reserved.