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

com.symphony.oss.models.fundmental.canon.ObjectsTransactionPostHttpRequestBuilder Maven / Gradle / Ivy

/**
 * GENERATED CODE - DO NOT EDIT OR CHECK IN TO SOURCE CODE CONTROL
 *
 * Copyright 2020 Symphony Communication Services, LLC.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License 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.
 *
 *----------------------------------------------------------------------------------------------------
 * Generated from
 *    Input source         file:/Users/bruce/symphony/git-SymphonyOSF/oss-models/target/checkout/fundamental-model/src/main/resources/canon/fundamental.json
 *    Template groupId     org.symphonyoss.s2.canon
 *           artifactId    canon-template-java
 *    Template name        template/java/Operation/${parent.camelCapitalizedName}${camelCapitalizedName}HttpRequestBuilder.java.ftl
 *    At                   2020-01-28 16:55:36 GMT
 *----------------------------------------------------------------------------------------------------
 */

package com.symphony.oss.models.fundmental.canon;

import javax.annotation.concurrent.Immutable;

import java.util.Collection;

import org.symphonyoss.s2.common.dom.json.ImmutableJsonList;
import org.symphonyoss.s2.common.dom.json.ImmutableJsonSet;
import org.symphonyoss.s2.common.dom.json.MutableJsonList;

import org.symphonyoss.s2.canon.runtime.exception.BadRequestException;
import org.symphonyoss.s2.canon.runtime.http.ParameterLocation;
import org.symphonyoss.s2.canon.runtime.http.client.HttpParameter;

import org.symphonyoss.s2.common.immutable.ImmutableByteArray;
import org.symphonyoss.s2.common.hash.Hash;
import com.symphony.oss.models.fundamental.canon.facade.*;
import com.symphony.oss.models.crypto.canon.facade.*;
import com.symphony.oss.models.crypto.canon.*;
import com.symphony.oss.models.core.canon.facade.*;
import com.symphony.oss.models.core.canon.*;

@Immutable
public class ObjectsTransactionPostHttpRequestBuilder extends ObjectsTransactionPostHttpRequestOrBuilder
{
  private MutableJsonList           canonPayload_ = new MutableJsonList();
  private HttpParameter       traceContextHash_;
  
  public ObjectsTransactionPostHttpRequestBuilder(FundamentalHttpModelClient canonClient)
  {
    super(canonClient);
    
    traceContextHash_ = new HttpParameter("traceContextHash", ParameterLocation.Query, false);
  }
  
  @Override
  public MutableJsonList getCanonPayload()
  {
    return canonPayload_;
  }
  
  public ObjectsTransactionPostHttpRequestBuilder withCanonPayload(IFundamentalObject canonPayload)
  {
    canonPayload_.add(canonPayload.getJsonObject());
    return this;
  }
  
  public ObjectsTransactionPostHttpRequestBuilder withCanonPayload(Collection canonPayload)
  {
    for(IFundamentalObject item : canonPayload)
      canonPayload_.add(item.getJsonObject());
      
    return this;
  }
  
  @Override
  public Hash getTraceContextHash()
  {
    return traceContextHash_.getValue();
  }
  
  public ObjectsTransactionPostHttpRequestBuilder withTraceContextHash(Hash traceContextHash)
  {
    traceContextHash_.setValue(traceContextHash);
    return this;
  }
  
  public ObjectsTransactionPostHttpRequest build() throws BadRequestException
  {
    traceContextHash_.validate();
  
    return new ObjectsTransactionPostHttpRequest(this);
  }
}
/*----------------------------------------------------------------------------------------------------
 * End of template template/java/Operation/${parent.camelCapitalizedName}${camelCapitalizedName}HttpRequestBuilder.java.ftl
 * End of code generation
 *------------------------------------------------------------------------------------------------- */




© 2015 - 2025 Weber Informatics LLC | Privacy Policy