Make SchemaNode.getPath() implementations as deprecated
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / type / LeafrefTypeBuilder.java
index f19b589f7683cec2414bc86dd6502a216db8d425..77a3c3a92f7cc64787d3ed5083ffbe3f5e6e1b4e 100644 (file)
@@ -7,27 +7,29 @@
  */
 package org.opendaylight.yangtools.yang.model.util.type;
 
-import com.google.common.base.Preconditions;
-import javax.annotation.Nonnull;
-import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.yang.model.api.PathExpression;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
 
-public final class LeafrefTypeBuilder extends TypeBuilder<LeafrefTypeDefinition> {
-    private RevisionAwareXPath pathStatement;
+public final class LeafrefTypeBuilder extends RequireInstanceRestrictedTypeBuilder<LeafrefTypeDefinition> {
+    private PathExpression pathStatement;
 
     LeafrefTypeBuilder(final SchemaPath path) {
         super(null, path);
     }
 
-    public LeafrefTypeBuilder setPathStatement(@Nonnull final RevisionAwareXPath pathStatement) {
-        Preconditions.checkState(this.pathStatement == null, "Path statement already set to %s", this.pathStatement);
-        this.pathStatement = Preconditions.checkNotNull(pathStatement);
+    public LeafrefTypeBuilder setPathStatement(final @NonNull PathExpression pathStatement) {
+        checkState(this.pathStatement == null, "Path statement already set to %s", this.pathStatement);
+        this.pathStatement = requireNonNull(pathStatement);
         return this;
     }
 
     @Override
-    public LeafrefTypeDefinition build() {
-        return new BaseLeafrefType(getPath(), pathStatement, getUnknownSchemaNodes());
+    LeafrefTypeDefinition buildType() {
+        return new BaseLeafrefType(getPath(), pathStatement, getRequireInstance(), getUnknownSchemaNodes());
     }
 }