/** * <p> * Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the * request. * </p> * <p> * If the service returns an enum value that is not available in the current SDK version, {@link #taggingDirective} * will return {@link TaggingDirective#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #taggingDirectiveAsString}. * </p> * * @return Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided * in the request. * @see TaggingDirective */ public TaggingDirective taggingDirective() { return TaggingDirective.fromValue(taggingDirective); }
/** * Use this in place of valueOf to convert the raw string returned by the service into the enum value. * * @param value * real value * @return TaggingDirective corresponding to the value */ public static TaggingDirective fromValue(String value) { if (value == null) { return null; } return Stream.of(TaggingDirective.values()).filter(e -> e.toString().equals(value)).findFirst() .orElse(UNKNOWN_TO_SDK_VERSION); }
/** * Use this in place of {@link #values()} to return a {@link Set} of all values known to the SDK. This will return * all known enum values except {@link #UNKNOWN_TO_SDK_VERSION}. * * @return a {@link Set} of known {@link TaggingDirective}s */ public static Set<TaggingDirective> knownValues() { return Stream.of(values()).filter(v -> v != UNKNOWN_TO_SDK_VERSION).collect(toSet()); } }
@Override public final Builder taggingDirective(TaggingDirective taggingDirective) { this.taggingDirective(taggingDirective.toString()); return this; }