1 package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104;
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;
9 * Utility methods for converting legacy RFC8525 Revision to and from various representations.
11 public final class RevisionUtils {
12 private static final ImportOnlyModule.@NonNull Revision EMPTY_REVISION = new ImportOnlyModule.Revision("");
14 private RevisionUtils() {
19 * Return an empty {@link ImportOnlyModule.Revision}.
21 * @return An empty Revision.
23 public static ImportOnlyModule.@NonNull Revision emptyRevision() {
24 return EMPTY_REVISION;
27 public static ImportOnlyModule.@NonNull Revision fromString(final String defaultValue) {
28 return defaultValue.isEmpty() ? EMPTY_REVISION
29 : new ImportOnlyModule.Revision(new RevisionIdentifier(defaultValue));
33 * Create a {@link ImportOnlyModule.Revision} from an optional {@link Revision}.
35 * @param revision Optional {@link Revision}
37 * @throws NullPointerException if revision is null
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);
45 * Create an optional {@link Revision} from a {@link ImportOnlyModule.Revision}.
47 * @param revision A Revision
48 * @return Optional {@link Revision}
49 * @throws NullPointerException if revision is null
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();