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

io.sundr.codegen.model.SourceFluent Maven / Gradle / Ivy

There is a newer version: 1.14.0
Show newest version
/*
 *      Copyright 2016 The original authors.
 *
 *      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.
 */

package io.sundr.codegen.model;

import java.util.Collection;
import java.util.List;
import java.util.function.Predicate;

import io.sundr.builder.Builder;
import io.sundr.builder.Fluent;
import io.sundr.builder.Nested;

public interface SourceFluent> extends Fluent {

  public A addToTypes(int index, TypeDef item);

  public A setToTypes(int index, TypeDef item);

  public A addToTypes(TypeDef... items);

  public A addAllToTypes(Collection items);

  public A removeFromTypes(TypeDef... items);

  public A removeAllFromTypes(Collection items);

  /**
   * This method has been deprecated, please use method buildTypes instead.
   * 
   * @return The buildable object.
   */
  @Deprecated
  public List getTypes();

  public List buildTypes();

  public TypeDef buildType(int index);

  public TypeDef buildFirstType();

  public TypeDef buildLastType();

  public TypeDef buildMatchingType(Predicate> predicate);

  public A withTypes(List types);

  public A withTypes(TypeDef... types);

  public Boolean hasTypes();

  public TypesNested addNewType();

  public TypesNested addNewTypeLike(TypeDef item);

  public interface TypesNested extends Nested, TypeDefFluent> {

    public N and();

    public N endType();
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy