2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.model.api.type.builder;
10 import org.opendaylight.mdsal.binding.model.api.AccessModifier;
11 import org.opendaylight.mdsal.binding.model.api.Type;
13 public interface TypeMemberBuilder<T extends TypeMemberBuilder<T>> extends AnnotableTypeBuilder {
15 * Returns the name of property.
17 * @return the name of property.
22 * Adds return Type into Builder definition for Generated Property. The return Type MUST NOT be <code>null</code>,
23 * otherwise the method SHOULD throw {@link IllegalArgumentException}
26 * Return Type of property.
28 T setReturnType(final Type returnType);
30 AccessModifier getAccessModifier();
33 * Sets the access modifier of property.
36 * Access Modifier value.
38 T setAccessModifier(final AccessModifier modifier);
41 * Adds String definition of comment into Method Signature definition. The comment String MUST NOT contain any
42 * comment specific chars (i.e. "/**" or "//") just plain String text description.
44 * @param comment Comment String.
46 T setComment(final String comment);
49 * Sets the flag final for method signature. If this is set the method will be prohibited from overriding. This
50 * setting is irrelevant for methods designated to be defined in interface definitions because interfaces cannot
51 * have a final method.
53 * @param isFinal Is Final
55 T setFinal(final boolean isFinal);
57 T setStatic(final boolean isStatic);