Do not generate union builders
[mdsal.git] / model / ietf / rfc8525 / src / main / java / org / opendaylight / yang / gen / v1 / urn / ietf / params / xml / ns / yang / ietf / yang / library / rev190104 / RevisionUtils.java
1 package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104;
2
3 import java.util.Optional;
4 import org.eclipse.jdt.annotation.NonNull;
5 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.ImportOnlyModule;
6 import org.opendaylight.yangtools.yang.common.Revision;
7
8 /**
9  * Utility methods for converting legacy RFC8525 Revision to and from various representations.
10  */
11 public final class RevisionUtils {
12     private static final ImportOnlyModule.@NonNull Revision EMPTY_REVISION = new ImportOnlyModule.Revision("");
13
14     private RevisionUtils() {
15         // Hidden on purpose
16     }
17
18     /**
19      * Return an empty {@link ImportOnlyModule.Revision}.
20      *
21      * @return An empty Revision.
22      */
23     public static ImportOnlyModule.@NonNull Revision emptyRevision() {
24         return EMPTY_REVISION;
25     }
26
27     public static ImportOnlyModule.@NonNull Revision fromString(final String defaultValue) {
28         return defaultValue.isEmpty() ? EMPTY_REVISION
29             : new ImportOnlyModule.Revision(new RevisionIdentifier(defaultValue));
30     }
31
32     /**
33      * Create a {@link ImportOnlyModule.Revision} from an optional {@link Revision}.
34      *
35      * @param revision Optional {@link Revision}
36      * @return A Revision
37      * @throws NullPointerException if revision is null
38      */
39     public static ImportOnlyModule.@NonNull Revision fromYangCommon(final Optional<Revision> revision) {
40         return revision.map(rev -> new ImportOnlyModule.Revision(new RevisionIdentifier(rev.toString())))
41             .orElse(EMPTY_REVISION);
42     }
43
44     /**
45      * Create an optional {@link Revision} from a {@link ImportOnlyModule.Revision}.
46      *
47      * @param revision A Revision
48      * @return Optional {@link Revision}
49      * @throws NullPointerException if revision is null
50      */
51     public static Optional<Revision> toYangCommon(final ImportOnlyModule.Revision revision) {
52         final var id = revision.getRevisionIdentifier();
53         return id != null ? Optional.of(Revision.of(id.getValue())) : Optional.empty();
54     }
55 }