1 package org.opendaylight.controller.sal.binding.model.api.type.builder;
3 import org.opendaylight.controller.sal.binding.model.api.AccessModifier;
4 import org.opendaylight.controller.sal.binding.model.api.Type;
9 public interface TypeMemberBuilder {
12 * The method creates new AnnotationTypeBuilder containing specified
13 * package name an annotation name.
15 * Neither the package name or annotation name can contain
16 * <code>null</code> references. In case that
17 * any of parameters contains <code>null</code> the method SHOULD thrown
18 * {@link IllegalArgumentException}
20 * @param packageName Package Name of Annotation Type
21 * @param name Name of Annotation Type
22 * @return <code>new</code> instance of Annotation Type Builder.
24 public AnnotationTypeBuilder addAnnotation(final String packageName, final String name);
27 * Returns the name of property.
29 * @return the name of property.
31 public String getName();
34 * Adds return Type into Builder definition for Generated Property.
36 * The return Type MUST NOT be <code>null</code>,
37 * otherwise the method SHOULD throw {@link IllegalArgumentException}
39 * @param returnType Return Type of property.
41 public void setReturnType(final Type returnType);
44 * Sets the access modifier of property.
46 * @param modifier Access Modifier value.
48 public void setAccessModifier(final AccessModifier modifier);
51 * Adds String definition of comment into Method Signature definition.
53 * The comment String MUST NOT contain anny comment specific chars (i.e.
54 * "/**" or "//") just plain String text description.
56 * @param comment Comment String.
58 public void setComment(final String comment);
61 * Sets the flag final for method signature. If this is set the method will be prohibited from overriding.
63 * This setting is irrelevant for methods designated to be defined in interface definitions because interface
64 * can't have final method.
66 * @param isFinal Is Final
68 public void setFinal(final boolean isFinal);