/* * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.mdsal.binding.generator.impl.reactor; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; /** * Enumeration of possible placements for a particular type. This provides a tie-in between the {@link Generator} tree * and the layout of resulting Java classes as dictated by {@link JavaTypeName} and {@link CollisionDomain}. */ enum ClassPlacement { /** * Generated class is a * top level type declaration. */ TOP_LEVEL, /** * Generated class is a * member type declaration. */ MEMBER, /** * There is no class being generated, hence placement is irrelevant. */ NONE, /** * There is no class being generated, just as with {@link #NONE}, but there is at least one {@link #TOP_LEVEL} * generated class which derives its name from this {@link Generator} and is participating in the same * {@link CollisionDomain}. */ PHANTOM; }