/** * Returns formatted revision string. * * @return formatted revision string */ public String getFormattedRevision() { return revision != null ? revision.toString() : null; }
private Object readResolve() { return Revision.of(requireNonNull(str)); } }
@Override @SuppressWarnings("checkstyle:parameterName") public int compareTo(final QNameModule o) { int cmp = namespace.compareTo(o.namespace); if (cmp != 0) { return cmp; } return Revision.compare(revision, o.revision); }
YangModelDependencyInfo(final String name, final String formattedRevision, final ImmutableSet<ModuleImport> imports, final ImmutableSet<ModuleImport> includes, final Optional<SemVer> semVer) { this.name = name; this.revision = Revision.ofNullable(formattedRevision).orElse(null); this.moduleImports = imports; this.submoduleIncludes = includes; this.dependencies = ImmutableSet.<ModuleImport>builder() .addAll(moduleImports).addAll(submoduleIncludes).build(); this.semVer = semVer.orElse(null); }
/** * Compare two explicitly nullable Revisions. Unlike {@link #compareTo(Revision)}, this handles both arguments * being null such that total ordering is defined. * * @param first First revision * @param second Second revision * @return Positive, zero, or negative integer. */ public static int compare(final @Nullable Revision first, final @Nullable Revision second) { if (first != null) { return second != null ? first.compareTo(second) : 1; } return second != null ? -1 : 0; }
private static Optional<SourceIdentifier> getSourceIdentifier(final String fileName) { final Matcher matcher = CACHED_FILE_PATTERN.matcher(fileName); if (matcher.matches()) { final String moduleName = matcher.group("moduleName"); final String revision = matcher.group("revision"); return Optional.of(RevisionSourceIdentifier.create(moduleName, Revision.ofNullable(revision))); } return Optional.empty(); }
/** * Compare two explicitly nullable Revisions. Unlike {@link #compareTo(Revision)}, this handles both arguments * being null such that total ordering is defined. * * @param first First revision * @param second Second revision * @return Positive, zero, or negative integer. */ public static int compare(final @Nullable Revision first, final @Nullable Revision second) { if (first != null) { return second != null ? first.compareTo(second) : 1; } return second != null ? -1 : 0; }
/** * Returns revision in string. * * @param r YANG revision * @return revision in string */ public static String getRevision(Optional<Revision> r) { return (r.isPresent()) ? r.get().toString() : null; }
private Object readResolve() { return Revision.of(requireNonNull(str)); } }
@Override @SuppressWarnings("checkstyle:parameterName") public int compareTo(final QNameModule o) { int cmp = namespace.compareTo(o.namespace); if (cmp != 0) { return cmp; } return Revision.compare(revision, o.revision); }
private static Optional<SourceIdentifier> getSourceIdentifier(final String fileName) { final Matcher matcher = CACHED_FILE_PATTERN.matcher(fileName); if (matcher.matches()) { final String moduleName = matcher.group("moduleName"); final String revision = matcher.group("revision"); return Optional.of(RevisionSourceIdentifier.create(moduleName, Revision.ofNullable(revision))); } return Optional.empty(); }
/** * Compare two {@link Optional}s wrapping Revisions. Arguments and return value are consistent with * {@link java.util.Comparator#compare(Object, Object)} interface contract. Missing revisions compare as lower * than any other revision. * * @param first First optional revision * @param second Second optional revision * @return Positive, zero, or negative integer. */ public static int compare(final @NonNull Optional<Revision> first, final @NonNull Optional<Revision> second) { if (first.isPresent()) { return second.isPresent() ? first.get().compareTo(second.get()) : 1; } return second.isPresent() ? -1 : 0; }
@Override public void writeTo(final DataOutput out) throws IOException { out.writeUTF(namespace.toString()); out.writeUTF(revision == null ? "" : revision.toString()); }
/** * Read a QNameModule from a DataInput. The format is expected to match the output format * of {@link #writeTo(DataOutput)}. * * @param in DataInput to read * @return A QNameModule instance * @throws IOException if I/O error occurs */ public static @NonNull QNameModule readFrom(final DataInput in) throws IOException { final String namespace = in.readUTF(); final String revision = in.readUTF(); return new QNameModule(URI.create(namespace), revision.isEmpty() ? null : Revision.of(revision)); }
@Override public SourceIdentifier select(final SourceIdentifier first, final SourceIdentifier second) { return Revision.compare(first.getRevision(), second.getRevision()) >= 0 ? first : second; }
public static @NonNull SourceIdentifier identifierFromFilename(final String name) { checkArgument(name.endsWith(RFC6020_YANG_FILE_EXTENSION), "Filename %s does not end with '%s'", RFC6020_YANG_FILE_EXTENSION, name); final String baseName = name.substring(0, name.length() - RFC6020_YANG_FILE_EXTENSION.length()); final Entry<String, String> parsed = parseFilename(baseName); return RevisionSourceIdentifier.create(parsed.getKey(), Revision.ofNullable(parsed.getValue())); }
/** * Compare two {@link Optional}s wrapping Revisions. Arguments and return value are consistent with * {@link java.util.Comparator#compare(Object, Object)} interface contract. Missing revisions compare as lower * than any other revision. * * @param first First optional revision * @param second Second optional revision * @return Positive, zero, or negative integer. */ public static int compare(final @NonNull Optional<Revision> first, final @NonNull Optional<Revision> second) { if (first.isPresent()) { return second.isPresent() ? first.get().compareTo(second.get()) : 1; } return second.isPresent() ? -1 : 0; }
@Override public void writeTo(final DataOutput out) throws IOException { out.writeUTF(namespace.toString()); out.writeUTF(revision == null ? "" : revision.toString()); }
/** * Read a QNameModule from a DataInput. The format is expected to match the output format * of {@link #writeTo(DataOutput)}. * * @param in DataInput to read * @return A QNameModule instance * @throws IOException if I/O error occurs */ public static @NonNull QNameModule readFrom(final DataInput in) throws IOException { final String namespace = in.readUTF(); final String revision = in.readUTF(); return new QNameModule(URI.create(namespace), revision.isEmpty() ? null : Revision.of(revision)); }
final QNameModule ns = entry.getKey(); if (namespace.equals(ns.withoutRevision()) && (match == null || Revision.compare(match.getKey().getRevision(), ns.getRevision()) < 0)) { match = entry;