All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.appflow.model.PrefixConfig Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Appflow module holds the client classes that are used for communicating with Amazon Appflow Service

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.appflow.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PrefixConfig implements Serializable, Cloneable, StructuredPojo { /** *

* Determines the format of the prefix, and whether it applies to the file name, file path, or both. *

*/ private String prefixType; /** *

* Determines the level of granularity for the date and time that's included in the prefix. *

*/ private String prefixFormat; /** *

* Specifies whether the destination file path includes either or both of the following elements: *

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases * by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
*
*/ private java.util.List pathPrefixHierarchy; /** *

* Determines the format of the prefix, and whether it applies to the file name, file path, or both. *

* * @param prefixType * Determines the format of the prefix, and whether it applies to the file name, file path, or both. * @see PrefixType */ public void setPrefixType(String prefixType) { this.prefixType = prefixType; } /** *

* Determines the format of the prefix, and whether it applies to the file name, file path, or both. *

* * @return Determines the format of the prefix, and whether it applies to the file name, file path, or both. * @see PrefixType */ public String getPrefixType() { return this.prefixType; } /** *

* Determines the format of the prefix, and whether it applies to the file name, file path, or both. *

* * @param prefixType * Determines the format of the prefix, and whether it applies to the file name, file path, or both. * @return Returns a reference to this object so that method calls can be chained together. * @see PrefixType */ public PrefixConfig withPrefixType(String prefixType) { setPrefixType(prefixType); return this; } /** *

* Determines the format of the prefix, and whether it applies to the file name, file path, or both. *

* * @param prefixType * Determines the format of the prefix, and whether it applies to the file name, file path, or both. * @return Returns a reference to this object so that method calls can be chained together. * @see PrefixType */ public PrefixConfig withPrefixType(PrefixType prefixType) { this.prefixType = prefixType.toString(); return this; } /** *

* Determines the level of granularity for the date and time that's included in the prefix. *

* * @param prefixFormat * Determines the level of granularity for the date and time that's included in the prefix. * @see PrefixFormat */ public void setPrefixFormat(String prefixFormat) { this.prefixFormat = prefixFormat; } /** *

* Determines the level of granularity for the date and time that's included in the prefix. *

* * @return Determines the level of granularity for the date and time that's included in the prefix. * @see PrefixFormat */ public String getPrefixFormat() { return this.prefixFormat; } /** *

* Determines the level of granularity for the date and time that's included in the prefix. *

* * @param prefixFormat * Determines the level of granularity for the date and time that's included in the prefix. * @return Returns a reference to this object so that method calls can be chained together. * @see PrefixFormat */ public PrefixConfig withPrefixFormat(String prefixFormat) { setPrefixFormat(prefixFormat); return this; } /** *

* Determines the level of granularity for the date and time that's included in the prefix. *

* * @param prefixFormat * Determines the level of granularity for the date and time that's included in the prefix. * @return Returns a reference to this object so that method calls can be chained together. * @see PrefixFormat */ public PrefixConfig withPrefixFormat(PrefixFormat prefixFormat) { this.prefixFormat = prefixFormat.toString(); return this; } /** *

* Specifies whether the destination file path includes either or both of the following elements: *

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases * by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
*
* * @return Specifies whether the destination file path includes either or both of the following elements:

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number * increases by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
* @see PathPrefix */ public java.util.List getPathPrefixHierarchy() { return pathPrefixHierarchy; } /** *

* Specifies whether the destination file path includes either or both of the following elements: *

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases * by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
*
* * @param pathPrefixHierarchy * Specifies whether the destination file path includes either or both of the following elements:

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number * increases by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
* @see PathPrefix */ public void setPathPrefixHierarchy(java.util.Collection pathPrefixHierarchy) { if (pathPrefixHierarchy == null) { this.pathPrefixHierarchy = null; return; } this.pathPrefixHierarchy = new java.util.ArrayList(pathPrefixHierarchy); } /** *

* Specifies whether the destination file path includes either or both of the following elements: *

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases * by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setPathPrefixHierarchy(java.util.Collection)} or {@link #withPathPrefixHierarchy(java.util.Collection)} * if you want to override the existing values. *

* * @param pathPrefixHierarchy * Specifies whether the destination file path includes either or both of the following elements:

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number * increases by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
* @return Returns a reference to this object so that method calls can be chained together. * @see PathPrefix */ public PrefixConfig withPathPrefixHierarchy(String... pathPrefixHierarchy) { if (this.pathPrefixHierarchy == null) { setPathPrefixHierarchy(new java.util.ArrayList(pathPrefixHierarchy.length)); } for (String ele : pathPrefixHierarchy) { this.pathPrefixHierarchy.add(ele); } return this; } /** *

* Specifies whether the destination file path includes either or both of the following elements: *

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases * by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
*
* * @param pathPrefixHierarchy * Specifies whether the destination file path includes either or both of the following elements:

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number * increases by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
* @return Returns a reference to this object so that method calls can be chained together. * @see PathPrefix */ public PrefixConfig withPathPrefixHierarchy(java.util.Collection pathPrefixHierarchy) { setPathPrefixHierarchy(pathPrefixHierarchy); return this; } /** *

* Specifies whether the destination file path includes either or both of the following elements: *

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases * by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
*
* * @param pathPrefixHierarchy * Specifies whether the destination file path includes either or both of the following elements:

*
*
EXECUTION_ID
*
*

* The ID that Amazon AppFlow assigns to the flow run. *

*
*
SCHEMA_VERSION
*
*

* The version number of your data schema. Amazon AppFlow assigns this version number. The version number * increases by one when you change any of the following settings in your flow configuration: *

*
    *
  • *

    * Source-to-destination field mappings *

    *
  • *
  • *

    * Field data types *

    *
  • *
  • *

    * Partition keys *

    *
  • *
*
* @return Returns a reference to this object so that method calls can be chained together. * @see PathPrefix */ public PrefixConfig withPathPrefixHierarchy(PathPrefix... pathPrefixHierarchy) { java.util.ArrayList pathPrefixHierarchyCopy = new java.util.ArrayList(pathPrefixHierarchy.length); for (PathPrefix value : pathPrefixHierarchy) { pathPrefixHierarchyCopy.add(value.toString()); } if (getPathPrefixHierarchy() == null) { setPathPrefixHierarchy(pathPrefixHierarchyCopy); } else { getPathPrefixHierarchy().addAll(pathPrefixHierarchyCopy); } return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getPrefixType() != null) sb.append("PrefixType: ").append(getPrefixType()).append(","); if (getPrefixFormat() != null) sb.append("PrefixFormat: ").append(getPrefixFormat()).append(","); if (getPathPrefixHierarchy() != null) sb.append("PathPrefixHierarchy: ").append(getPathPrefixHierarchy()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PrefixConfig == false) return false; PrefixConfig other = (PrefixConfig) obj; if (other.getPrefixType() == null ^ this.getPrefixType() == null) return false; if (other.getPrefixType() != null && other.getPrefixType().equals(this.getPrefixType()) == false) return false; if (other.getPrefixFormat() == null ^ this.getPrefixFormat() == null) return false; if (other.getPrefixFormat() != null && other.getPrefixFormat().equals(this.getPrefixFormat()) == false) return false; if (other.getPathPrefixHierarchy() == null ^ this.getPathPrefixHierarchy() == null) return false; if (other.getPathPrefixHierarchy() != null && other.getPathPrefixHierarchy().equals(this.getPathPrefixHierarchy()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPrefixType() == null) ? 0 : getPrefixType().hashCode()); hashCode = prime * hashCode + ((getPrefixFormat() == null) ? 0 : getPrefixFormat().hashCode()); hashCode = prime * hashCode + ((getPathPrefixHierarchy() == null) ? 0 : getPathPrefixHierarchy().hashCode()); return hashCode; } @Override public PrefixConfig clone() { try { return (PrefixConfig) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.appflow.model.transform.PrefixConfigMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy