431bd590fa9eea3cbdfd5605bef7afd3aa396788
[yangtools.git] / data / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / SystemLeafSetNode.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.yangtools.yang.data.api.schema;
9
10 /**
11  * {@link LeafSetNode} which does not preserve user-supplied ordering. This node represents a data instance of
12  * a {@code leaf-list} without a {@code ordered-by user;} substatement, i.e. when the {@code leaf-list} is effectively
13  * {@code ordered-by system;}.
14  *
15  * @param <T> Value type of Leaf entries
16  */
17 // // FIXME: 9.0.0: we really want to do a Set<@NonNull V> body(), but need to reconcile that with key-based lookup in
18 //                  implementations -- and those are using only a Map internally.
19 public interface SystemLeafSetNode<T> extends LeafSetNode<T>, OrderingAware.System {
20     @Override
21     @SuppressWarnings("rawtypes")
22     default Class<SystemLeafSetNode> contract() {
23         return SystemLeafSetNode.class;
24     }
25
26     @Override
27     int hashCode();
28
29     @Override
30     boolean equals(Object obj);
31 }