LCOV - code coverage report
Current view: top level - httpd/resources - Resource.java (source / functions) Hit Total Coverage
Test: _coverage_report.dat Lines: 7 9 77.8 %
Date: 2022-11-19 15:00:39 Functions: 5 7 71.4 %

          Line data    Source code
       1             : // Copyright (C) 2012 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.httpd.resources;
      16             : 
      17             : import com.google.gerrit.util.http.CacheHeaders;
      18             : import java.io.IOException;
      19             : import java.io.Serializable;
      20             : import javax.servlet.http.HttpServletRequest;
      21             : import javax.servlet.http.HttpServletResponse;
      22             : 
      23           1 : public abstract class Resource implements Serializable {
      24             :   private static final long serialVersionUID = 1L;
      25             : 
      26           1 :   public static final Resource NOT_FOUND =
      27           1 :       new Resource() {
      28             :         private static final long serialVersionUID = 1L;
      29             : 
      30             :         @Override
      31             :         public int weigh() {
      32           1 :           return 0;
      33             :         }
      34             : 
      35             :         @Override
      36             :         public void send(HttpServletRequest req, HttpServletResponse res) throws IOException {
      37           1 :           CacheHeaders.setNotCacheable(res);
      38           1 :           res.sendError(HttpServletResponse.SC_NOT_FOUND);
      39           1 :         }
      40             : 
      41             :         @Override
      42             :         public boolean isUnchanged(long latestModifiedDate) {
      43           0 :           return false;
      44             :         }
      45             : 
      46             :         protected Object readResolve() {
      47           0 :           return NOT_FOUND;
      48             :         }
      49             :       };
      50             : 
      51             :   public abstract boolean isUnchanged(long latestModifiedDate);
      52             : 
      53             :   public abstract int weigh();
      54             : 
      55             :   public abstract void send(HttpServletRequest req, HttpServletResponse res) throws IOException;
      56             : }

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