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;
12 import org.opendaylight.mdsal.binding.model.api.TypeMemberComment;
14 public interface TypeMemberBuilder<T extends TypeMemberBuilder<T>> extends AnnotableTypeBuilder {
16 * Returns the name of property.
18 * @return the name of property.
23 * Adds return Type into Builder definition for Generated Property. The return Type MUST NOT be <code>null</code>,
24 * otherwise the method SHOULD throw {@link IllegalArgumentException}
26 * @param returnType Return Type of property.
28 T setReturnType(Type returnType);
30 AccessModifier getAccessModifier();
33 * Sets the access modifier of property.
35 * @param modifier Access Modifier value.
37 T setAccessModifier(AccessModifier modifier);
40 * Adds String definition of comment into Method Signature definition. The comment String MUST NOT contain any
41 * comment specific chars (i.e. "/**" or "//") just plain String text description.
43 * @param comment Structured comment
45 T setComment(TypeMemberComment comment);
48 * Sets the flag final for method signature. If this is set the method will be prohibited from overriding. This
49 * setting is irrelevant for methods designated to be defined in interface definitions because interfaces cannot
50 * have a final method.
52 * @param isFinal Is Final
54 T setFinal(boolean isFinal);
56 T setStatic(boolean isStatic);