package org.opendaylight.yangtools.yang.model.api;
import com.google.common.annotations.Beta;
-import java.util.Collection;
+import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative;
*/
@Beta
public interface UniqueConstraint {
- // FIXME: 3.0.0: return Set<Relative>
- @NonNull Collection<Relative> getTag();
+ @NonNull Set<Relative> getTag();
}
package org.opendaylight.yangtools.yang.model.api.stmt;
import com.google.common.annotations.Beta;
-import java.util.Collection;
+import java.util.Set;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative;
@Beta
-public interface UniqueEffectiveStatement extends EffectiveStatement<Collection<Relative>, UniqueStatement> {
+public interface UniqueEffectiveStatement extends EffectiveStatement<Set<Relative>, UniqueStatement> {
}
import static com.google.common.base.Verify.verifyNotNull;
-import java.util.Collection;
+import java.util.Set;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative;
-public interface UniqueStatement extends DeclaredStatement<Collection<SchemaNodeIdentifier.Relative>> {
+public interface UniqueStatement extends DeclaredStatement<Set<SchemaNodeIdentifier.Relative>> {
- default Collection<Relative> getTag() {
+ default Set<Relative> getTag() {
// FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
return verifyNotNull(argument());
}
import static com.google.common.base.Verify.verifyNotNull;
-import java.util.Collection;
+import java.util.Set;
import org.opendaylight.yangtools.yang.model.api.UniqueConstraint;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative;
import org.opendaylight.yangtools.yang.model.api.stmt.UniqueEffectiveStatement;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.DeclaredEffectiveStatementBase;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-final class UniqueEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Collection<Relative>, UniqueStatement>
+final class UniqueEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Set<Relative>, UniqueStatement>
implements UniqueConstraint, UniqueEffectiveStatement {
- UniqueEffectiveStatementImpl(final StmtContext<Collection<Relative>, UniqueStatement, ?> ctx) {
+ UniqueEffectiveStatementImpl(final StmtContext<Set<Relative>, UniqueStatement, ?> ctx) {
super(ctx);
}
@Override
- public Collection<Relative> getTag() {
+ public Set<Relative> getTag() {
// FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
return verifyNotNull(argument());
}
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.unique;
-import java.util.Collection;
+import java.util.Set;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative;
import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-final class UniqueStatementImpl extends AbstractDeclaredStatement<Collection<Relative>> implements UniqueStatement {
- UniqueStatementImpl(final StmtContext<Collection<Relative>, UniqueStatement, ?> context) {
+final class UniqueStatementImpl extends AbstractDeclaredStatement<Set<Relative>> implements UniqueStatement {
+ UniqueStatementImpl(final StmtContext<Set<Relative>, UniqueStatement, ?> context) {
super(context);
}
}
import com.google.common.base.CharMatcher;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableSet;
-import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-public final class UniqueStatementSupport extends AbstractStatementSupport<Collection<Relative>, UniqueStatement,
- EffectiveStatement<Collection<Relative>, UniqueStatement>> {
+public final class UniqueStatementSupport extends AbstractStatementSupport<Set<Relative>, UniqueStatement,
+ EffectiveStatement<Set<Relative>, UniqueStatement>> {
/**
* Support 'sep' ABNF rule in RFC7950 section 14. CRLF pattern is used to squash line-break from CRLF to LF form
* and then we use SEP_SPLITTER, which can operate on single characters.
}
@Override
- public UniqueStatement createDeclared(final StmtContext<Collection<Relative>, UniqueStatement, ?> ctx) {
+ public UniqueStatement createDeclared(final StmtContext<Set<Relative>, UniqueStatement, ?> ctx) {
return new UniqueStatementImpl(ctx);
}
@Override
- public EffectiveStatement<Collection<Relative>, UniqueStatement> createEffective(
- final StmtContext<Collection<Relative>, UniqueStatement, EffectiveStatement<Collection<Relative>,
- UniqueStatement>> ctx) {
+ public EffectiveStatement<Set<Relative>, UniqueStatement> createEffective(
+ final StmtContext<Set<Relative>, UniqueStatement, EffectiveStatement<Set<Relative>, UniqueStatement>> ctx) {
return new UniqueEffectiveStatementImpl(ctx);
}