/* * Copyright 2012 Red Hat, Inc. and/or its affiliates. * * Licensed under the Eclipse Public License version 1.0, available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jboss.forge.roaster.model.source; import org.jboss.forge.roaster.model.EnumConstant; /** * Represents one of the constant members of a {@link JavaEnumSource}. */ public interface EnumConstantSource extends EnumConstant<JavaEnumSource>, AnnotationTargetSource<JavaEnumSource, EnumConstantSource>, NamedSource<EnumConstantSource>, JavaDocCapableSource<EnumConstantSource> { /** * Represents the anonymous subclass "body" of an {@link EnumConstantSource}. */ interface Body extends EnumConstant.ReadBody<Body>, JavaSource<Body>, FieldHolderSource<Body>, MethodHolderSource<Body>, TypeHolderSource<Body> { } /** * Set the constructor arguments for this enum constant. */ EnumConstantSource setConstructorArguments(String... literalArguments); @Override EnumConstantSource.Body getBody(); /** * Remove the {@link Body} of this enum constant. */ EnumConstantSource removeBody(); }