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
15 * of member fields stored in List of Properties. The Generated Transfer
16 * Object can be extended by exactly ONE Generated Transfer Object as Java
17 * don't allow multiple inheritance. For retrieval of implementing Generated
18 * Types use {@link #getImplements()} method.
20 * Every transfer object SHOULD contain equals, hashCode and toString definitions.
21 * For this purpose retrieve definitions through {@link #getEqualsIdentifiers
22 * ()}, {@link #getHashCodeIdentifiers()} and {@link #getToStringIdentifiers
26 public interface GeneratedTransferObject extends GeneratedType {
29 * Returns the extending Generated Transfer Object or <code>null</code>
30 * if there is no extending Generated Transfer Object.
32 * @return the extending Generated Transfer Object or <code>null</code>
33 * if there is no extending Generated Transfer Object.
35 public GeneratedTransferObject getExtends();
38 * Returns List of Properties that are declared for Generated Transfer
41 * @return List of Properties that are declared for Generated Transfer
44 public List<GeneratedProperty> getProperties();
47 * Returns List of Properties that are designated to define equality for
48 * Generated Transfer Object.
50 * @return List of Properties that are designated to define equality for
51 * Generated Transfer Object.
53 public List<GeneratedProperty> getEqualsIdentifiers();
56 * Returns List of Properties that are designated to define identity for
57 * Generated Transfer Object.
59 * @return List of Properties that are designated to define identity for
60 * Generated Transfer Object.
62 public List<GeneratedProperty> getHashCodeIdentifiers();
65 * Returns List of Properties that will be members of toString definition
66 * for Generated Transfer Object.
68 * @return List of Properties that will be members of toString definition
69 * for Generated Transfer Object.
71 public List<GeneratedProperty> getToStringIdentifiers();