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

io.sundr.dsl.internal.Constants Maven / Gradle / Ivy

/*
 * Copyright 2015 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.dsl.internal;

import java.util.Set;

import io.sundr.codegen.functions.ClassTo;
import io.sundr.codegen.functions.ElementTo;
import io.sundr.codegen.model.AttributeKey;
import io.sundr.codegen.model.ClassRef;
import io.sundr.codegen.model.TypeDef;
import io.sundr.codegen.model.TypeParamDef;
import io.sundr.codegen.model.TypeParamDefBuilder;
import io.sundr.codegen.model.TypeParamRef;
import io.sundr.codegen.model.TypeParamRefBuilder;
import io.sundr.codegen.model.TypeRef;
import io.sundr.codegen.model.VoidRef;
import io.sundr.dsl.internal.element.functions.filter.TransitionFilter;

public final class Constants {
    
    private Constants() {}

    public static final AttributeKey IS_GENERATED = new AttributeKey("IS_GENERATED", Boolean.class);

    public static final AttributeKey ORIGINAL_RETURN_TYPE = new AttributeKey("ORIGINAL_RETURN_TYPE", TypeRef.class);
    public static final AttributeKey> TERMINATING_TYPES = new AttributeKey>("TERMINATING_TYPES", Set.class);
    public static final AttributeKey IS_ENTRYPOINT = new AttributeKey("IS_ENTRYPOINT", Boolean.class);
    public static final AttributeKey IS_TERMINAL = new AttributeKey("IS_TERMINAL", Boolean.class);
    public static final AttributeKey IS_GENERIC = new AttributeKey("IS_GENERIC", Boolean.class);
    public static final AttributeKey> CLASSES = new AttributeKey>("CLASSES", Set.class) ;
    public static final AttributeKey> KEYWORDS = new AttributeKey>("KEYWORDS", Set.class);
    public static final AttributeKey> METHODS = new AttributeKey>("METHODS", Set.class);
    public static final AttributeKey BEGIN_SCOPE = new AttributeKey("BEGIN_SCOPE", String.class);
    public static final AttributeKey END_SCOPE = new AttributeKey("END_SCOPE", String.class);
    public static final AttributeKey IS_COMPOSITE = new AttributeKey("IS_COMPOSITE", Boolean.class);

    public static final AttributeKey IS_TRANSITION = new AttributeKey("IS_TRANSITION", Boolean.class);
    public static final AttributeKey CARDINALITY_MULTIPLE = new AttributeKey("CARDINALITY_MULTIPLE", Boolean.class);
    public static final AttributeKey METHOD_NAME = new AttributeKey("METHOD_NAME", String.class);

    public static final AttributeKey ORIGINAL_REF = new AttributeKey("ORIGINAL_REF", TypeRef.class);
    public static final AttributeKey FILTER = new AttributeKey("FILTER", TransitionFilter.class);

    public static final String[] REMOVABLE_PREFIXES = {"With"};
    public static final String INTERFACE_SUFFIX = "Interface";

    public static final TypeDef VOID = ClassTo.TYPEDEF.apply(Void.class);
    public static final ClassRef VOID_REF = VOID.toInternalReference();

    public static final TypeParamDef TRANSPARENT = new TypeParamDefBuilder().withName("T").addToAttributes(IS_GENERIC, true).build();
    public static final TypeParamRef TRANSPARENT_REF = new TypeParamRefBuilder().withName("T").addToAttributes(IS_GENERIC, true).build();



    public static final String SCOPE_SUFFIX = "Scope";
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy