2 * Copyright (c) 2013 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.controller.sal.binding.model.api;
10 import java.util.List;
13 * Generated Transfer Object extends {@link GeneratedType} and is designed to
14 * represent Java Class. The Generated Transfer Object contains declarations of
15 * member fields stored in List of Properties. The Generated Transfer Object can
16 * be extended by exactly ONE Generated Transfer Object as Java don't allow
17 * multiple inheritance. For retrieval of implementing Generated Types use
18 * {@link #getImplements()} method. <br>
19 * Every transfer object SHOULD contain equals, hashCode and toString
20 * definitions. For this purpose retrieve definitions through
21 * {@link #getEqualsIdentifiers ()}, {@link #getHashCodeIdentifiers()} and
22 * {@link #getToStringIdentifiers ()}.
25 public interface GeneratedTransferObject extends GeneratedType {
28 * Returns the extending Generated Transfer Object or <code>null</code> if
29 * there is no extending Generated Transfer Object.
31 * @return the extending Generated Transfer Object or <code>null</code> if
32 * there is no extending Generated Transfer Object.
34 public GeneratedTransferObject getExtends();
37 * Returns List of Properties that are declared for Generated Transfer
40 * @return List of Properties that are declared for Generated Transfer
43 public List<GeneratedProperty> getProperties();
46 * Returns List of Properties that are designated to define equality for
47 * Generated Transfer Object.
49 * @return List of Properties that are designated to define equality for
50 * Generated Transfer Object.
52 public List<GeneratedProperty> getEqualsIdentifiers();
55 * Returns List of Properties that are designated to define identity for
56 * Generated Transfer Object.
58 * @return List of Properties that are designated to define identity for
59 * Generated Transfer Object.
61 public List<GeneratedProperty> getHashCodeIdentifiers();
64 * Returns List of Properties that will be members of toString definition
65 * for Generated Transfer Object.
67 * @return List of Properties that will be members of toString definition
68 * for Generated Transfer Object.
70 public List<GeneratedProperty> getToStringIdentifiers();
73 * Return boolean value which describe whether Generated Transfer Object
74 * was/wasn't created from union YANG type.
76 * @return true value if Generated Transfer Object was created from union
80 public boolean isUnionType();