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}
25 * @param returnType Return Type of property.
27 T setReturnType(Type returnType);
29 AccessModifier getAccessModifier();
32 * Sets the access modifier of property.
34 * @param modifier Access Modifier value.
36 T setAccessModifier(AccessModifier modifier);
39 * Adds String definition of comment into Method Signature definition. The comment String MUST NOT contain any
40 * comment specific chars (i.e. "/**" or "//") just plain String text description.
42 * @param comment Comment String.
44 T setComment(String comment);
47 * Sets the flag final for method signature. If this is set the method will be prohibited from overriding. This
48 * setting is irrelevant for methods designated to be defined in interface definitions because interfaces cannot
49 * have a final method.
51 * @param isFinal Is Final
53 T setFinal(boolean isFinal);
55 T setStatic(boolean isStatic);