LCOV - code coverage report
Current view: top level - entities - BranchNameKey.java (source / functions) Hit Total Coverage
Test: _coverage_report.dat Lines: 6 6 100.0 %
Date: 2022-11-19 15:00:39 Functions: 6 6 100.0 %

          Line data    Source code
       1             : // Copyright (C) 2019 The Android Open Source Project
       2             : //
       3             : // Licensed under the Apache License, Version 2.0 (the "License");
       4             : // you may not use this file except in compliance with the License.
       5             : // You may obtain a copy of the License at
       6             : //
       7             : // http://www.apache.org/licenses/LICENSE-2.0
       8             : //
       9             : // Unless required by applicable law or agreed to in writing, software
      10             : // distributed under the License is distributed on an "AS IS" BASIS,
      11             : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      12             : // See the License for the specific language governing permissions and
      13             : // limitations under the License.
      14             : 
      15             : package com.google.gerrit.entities;
      16             : 
      17             : import com.google.auto.value.AutoValue;
      18             : 
      19             : /** Branch name key */
      20             : @AutoValue
      21         152 : public abstract class BranchNameKey implements Comparable<BranchNameKey> {
      22             :   public static BranchNameKey create(Project.NameKey projectName, String branchName) {
      23         152 :     return new AutoValue_BranchNameKey(projectName, RefNames.fullName(branchName));
      24             :   }
      25             : 
      26             :   public static BranchNameKey create(String projectName, String branchName) {
      27         138 :     return create(Project.nameKey(projectName), branchName);
      28             :   }
      29             : 
      30             :   public abstract Project.NameKey project();
      31             : 
      32             :   public abstract String branch();
      33             : 
      34             :   public String shortName() {
      35         107 :     return RefNames.shortName(branch());
      36             :   }
      37             : 
      38             :   @Override
      39             :   public final int compareTo(BranchNameKey o) {
      40             :     // TODO(dborowitz): Only compares branch name in order to match old StringKey behavior.
      41             :     // Consider comparing project name first.
      42           1 :     return branch().compareTo(o.branch());
      43             :   }
      44             : 
      45             :   @Override
      46             :   public final String toString() {
      47          12 :     return project() + "," + KeyUtil.encode(branch());
      48             :   }
      49             : }

Generated by: LCOV version 1.16+git.20220603.dfeb750