Class Feature
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<Feature.Builder,
Feature>
This structure contains information about one Evidently feature in your account.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal String
arn()
The ARN of the feature.static Feature.Builder
builder()
final Instant
The date and time that the feature is created.final String
The name of the variation that is used as the default variation.final String
The description of the feature.A set of key-value pairs that specify users who should always be served a specific variation of a feature.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final List
<EvaluationRule> An array of structures that define the evaluation rules for the feature.If this value isALL_RULES
, the traffic allocation specified by any ongoing launches or experiments is being used.final String
If this value isALL_RULES
, the traffic allocation specified by any ongoing launches or experiments is being used.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the EntityOverrides property.final boolean
For responses, this returns true if the service returned a value for the EvaluationRules property.final int
hashCode()
final boolean
hasTags()
For responses, this returns true if the service returned a value for the Tags property.final boolean
For responses, this returns true if the service returned a value for the Variations property.final Instant
The date and time that the feature was most recently updated.final String
name()
The name of the feature.final String
project()
The name or ARN of the project that contains the feature.static Class
<? extends Feature.Builder> final FeatureStatus
status()
The current state of the feature.final String
The current state of the feature.tags()
The list of tag keys and values associated with this feature.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final VariationValueType
Defines the type of value used to define the different feature variations.final String
Defines the type of value used to define the different feature variations.An array of structures that contain the configuration of the feature's different variations.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
arn
The ARN of the feature.
- Returns:
- The ARN of the feature.
-
createdTime
The date and time that the feature is created.
- Returns:
- The date and time that the feature is created.
-
defaultVariation
The name of the variation that is used as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature.
This variation must also be listed in the
variations
structure.If you omit
defaultVariation
, the first variation listed in thevariations
structure is used as the default variation.- Returns:
- The name of the variation that is used as the default variation. The default variation is served to users
who are not allocated to any ongoing launches or experiments of this feature.
This variation must also be listed in the
variations
structure.If you omit
defaultVariation
, the first variation listed in thevariations
structure is used as the default variation.
-
description
The description of the feature.
- Returns:
- The description of the feature.
-
hasEntityOverrides
public final boolean hasEntityOverrides()For responses, this returns true if the service returned a value for the EntityOverrides property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
entityOverrides
A set of key-value pairs that specify users who should always be served a specific variation of a feature. Each key specifies a user using their user ID, account ID, or some other identifier. The value specifies the name of the variation that the user is to be served.
For the override to be successful, the value of the key must match the
entityId
used in the EvaluateFeature operation.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEntityOverrides()
method.- Returns:
- A set of key-value pairs that specify users who should always be served a specific variation of a
feature. Each key specifies a user using their user ID, account ID, or some other identifier. The value
specifies the name of the variation that the user is to be served.
For the override to be successful, the value of the key must match the
entityId
used in the EvaluateFeature operation.
-
hasEvaluationRules
public final boolean hasEvaluationRules()For responses, this returns true if the service returned a value for the EvaluationRules property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
evaluationRules
An array of structures that define the evaluation rules for the feature.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEvaluationRules()
method.- Returns:
- An array of structures that define the evaluation rules for the feature.
-
evaluationStrategy
If this value is
ALL_RULES
, the traffic allocation specified by any ongoing launches or experiments is being used. If this isDEFAULT_VARIATION
, the default variation is being served to all users.If the service returns an enum value that is not available in the current SDK version,
evaluationStrategy
will returnFeatureEvaluationStrategy.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromevaluationStrategyAsString()
.- Returns:
- If this value is
ALL_RULES
, the traffic allocation specified by any ongoing launches or experiments is being used. If this isDEFAULT_VARIATION
, the default variation is being served to all users. - See Also:
-
evaluationStrategyAsString
If this value is
ALL_RULES
, the traffic allocation specified by any ongoing launches or experiments is being used. If this isDEFAULT_VARIATION
, the default variation is being served to all users.If the service returns an enum value that is not available in the current SDK version,
evaluationStrategy
will returnFeatureEvaluationStrategy.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromevaluationStrategyAsString()
.- Returns:
- If this value is
ALL_RULES
, the traffic allocation specified by any ongoing launches or experiments is being used. If this isDEFAULT_VARIATION
, the default variation is being served to all users. - See Also:
-
lastUpdatedTime
The date and time that the feature was most recently updated.
- Returns:
- The date and time that the feature was most recently updated.
-
name
The name of the feature.
- Returns:
- The name of the feature.
-
project
The name or ARN of the project that contains the feature.
- Returns:
- The name or ARN of the project that contains the feature.
-
status
The current state of the feature.
If the service returns an enum value that is not available in the current SDK version,
status
will returnFeatureStatus.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromstatusAsString()
.- Returns:
- The current state of the feature.
- See Also:
-
statusAsString
The current state of the feature.
If the service returns an enum value that is not available in the current SDK version,
status
will returnFeatureStatus.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromstatusAsString()
.- Returns:
- The current state of the feature.
- See Also:
-
hasTags
public final boolean hasTags()For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
tags
The list of tag keys and values associated with this feature.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTags()
method.- Returns:
- The list of tag keys and values associated with this feature.
-
valueType
Defines the type of value used to define the different feature variations. For more information, see Variation types
If the service returns an enum value that is not available in the current SDK version,
valueType
will returnVariationValueType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromvalueTypeAsString()
.- Returns:
- Defines the type of value used to define the different feature variations. For more information, see Variation types
- See Also:
-
valueTypeAsString
Defines the type of value used to define the different feature variations. For more information, see Variation types
If the service returns an enum value that is not available in the current SDK version,
valueType
will returnVariationValueType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromvalueTypeAsString()
.- Returns:
- Defines the type of value used to define the different feature variations. For more information, see Variation types
- See Also:
-
hasVariations
public final boolean hasVariations()For responses, this returns true if the service returned a value for the Variations property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
variations
An array of structures that contain the configuration of the feature's different variations.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasVariations()
method.- Returns:
- An array of structures that contain the configuration of the feature's different variations.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<Feature.Builder,
Feature> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-