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

spoon.reflect.code.CtCasePattern Maven / Gradle / Ivy

Go to download

Spoon is a tool for meta-programming, analysis and transformation of Java programs.

There is a newer version: 11.1.1-beta-14
Show newest version
/*
 * SPDX-License-Identifier: (MIT OR CECILL-C)
 *
 * Copyright (C) 2006-2023 INRIA and contributors
 *
 * Spoon is available either under the terms of the MIT License (see LICENSE-MIT.txt) or the Cecill-C License (see LICENSE-CECILL-C.txt). You as the user are entitled to choose the terms under which to adopt Spoon.
 */
package spoon.reflect.code;

import spoon.reflect.annotations.PropertyGetter;
import spoon.reflect.annotations.PropertySetter;

import static spoon.reflect.path.CtRole.PATTERN;

/**
 * This code element represents a case pattern, introduced in Java 21
 * by JEP 441.
 * 

* Example: *

 * Number num = Math.random() < 0.5 ? Integer.valueOf(1) : Double.valueOf(10.5);
 * switch (num) {
 *    case Integer i -> System.out.println("int: " + i);
 *    case Double d when d > 0.5 -> System.out.println("double: " + d);
 *    case null, default -> System.out.println("other");
 * }
 * 
*/ public interface CtCasePattern extends CtExpression { /** * {@return the pattern of of this case pattern} */ @PropertyGetter(role = PATTERN) CtPattern getPattern(); /** * Sets the pattern for this case pattern. * * @param pattern the new pattern for this case pattern. * @return this case pattern. */ @PropertySetter(role = PATTERN) CtCasePattern setPattern(CtPattern pattern); @Override CtCasePattern clone(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy