1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/*
* Copyright (c) 2016 Cisco and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.fd.honeycomb.translate.util;
import org.opendaylight.yangtools.yang.binding.ChildOf;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.Identifiable;
import org.opendaylight.yangtools.yang.binding.Identifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
public class DataObjects {
public interface DataObject1 extends DataObject {
InstanceIdentifier<DataObject1> IID = InstanceIdentifier.create(DataObject1.class);
}
public interface DataObject2 extends DataObject {
InstanceIdentifier<DataObject2> IID = InstanceIdentifier.create(DataObject2.class);
}
public interface DataObject3 extends DataObject {
InstanceIdentifier<DataObject3> IID = InstanceIdentifier.create(DataObject3.class);
interface DataObject31 extends DataObject, ChildOf<DataObject3> {
InstanceIdentifier<DataObject31> IID = DataObject3.IID.child(DataObject31.class);
}
}
public interface DataObject4 extends DataObject {
InstanceIdentifier<DataObject4> IID = InstanceIdentifier.create(DataObject4.class);
interface DataObject41 extends DataObject, ChildOf<DataObject4> {
InstanceIdentifier<DataObject41> IID = DataObject4.IID.child(DataObject41.class);
interface DataObject411 extends DataObject, ChildOf<DataObject41> {
InstanceIdentifier<DataObject411> IID = DataObject41.IID.child(DataObject411.class);
}
}
interface DataObject42 extends DataObject, ChildOf<DataObject4> {
InstanceIdentifier<DataObject42> IID = DataObject4.IID.child(DataObject42.class);
}
}
public interface DataObjectK extends DataObject, Identifiable<DataObjectKey> {
InstanceIdentifier<DataObjectK> IID = InstanceIdentifier.create(DataObjectK.class);
interface DataObjectK1 extends DataObject, ChildOf<DataObjectK> {
InstanceIdentifier<DataObjectK1> IID = DataObjectK.IID.child(DataObjectK1.class);
}
}
public interface DataObject1ChildK extends DataObject, ChildOf<DataObject1>, Identifiable<DataObject1ChildKey> {
// needs to be defined like this to have paths totally equal after cutting path for internally keyed id inside infra
InstanceIdentifier<DataObject1ChildK> IID =
RWUtils.makeIidWildcarded(InstanceIdentifier.create(DataObject1.class).child(DataObject1ChildK.class));
InstanceIdentifier<DataObject1ChildK> INTERNALLY_KEYED_IID = InstanceIdentifier.create(DataObject1.class)
.child(DataObject1ChildK.class, new DataObject1ChildKey());
}
public static class DataObject1ChildKey implements Identifier<DataObject1ChildK> {
}
public static class DataObjectKey implements Identifier<DataObjectK> {
}
}
|