BUG-6972: eliminate StmtContext.getOrder()
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / RevisionEffectiveStatementImpl.java
index b255ff9b2910adb03c543bfb162b7c025f51e6e3..32c4c2389200ee0ef87b484fbf0269ecd64e1f63 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -8,15 +8,41 @@
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 
 import java.util.Date;
+import org.opendaylight.yangtools.yang.model.api.DocumentedNode;
 import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public class RevisionEffectiveStatementImpl extends
-        EffectiveStatementBase<Date, RevisionStatement> {
+public final class RevisionEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Date, RevisionStatement>
+        implements DocumentedNode {
 
-    public RevisionEffectiveStatementImpl(
-            StmtContext<Date, RevisionStatement, ?> ctx) {
+    private final String reference;
+    private final String description;
+
+    public RevisionEffectiveStatementImpl(final StmtContext<Date, RevisionStatement, ?> ctx) {
         super(ctx);
+
+        final DescriptionEffectiveStatementImpl descStmt = firstEffective(DescriptionEffectiveStatementImpl.class);
+        if (descStmt != null) {
+            this.description = descStmt.argument();
+        } else {
+            this.description = null;
+        }
+
+        final ReferenceEffectiveStatementImpl refStmt = firstEffective(ReferenceEffectiveStatementImpl.class);
+        if (refStmt != null) {
+            this.reference = refStmt.argument();
+        } else {
+            this.reference = null;
+        }
     }
 
+    @Override
+    public final String getDescription() {
+        return this.description;
+    }
+
+    @Override
+    public final String getReference() {
+        return this.reference;
+    }
 }
\ No newline at end of file