mirror of
https://github.com/google/nomulus.git
synced 2025-05-05 14:37:52 +02:00
Icann reports have 3 parameter-provided injections: - yearMonth - subdir - reportType We move all of them away from the "inner classes" and only @Inject them in the Actions themselves. This has 2 benefits: - it's much clearer what all the parameter inputs of the Actions are - the "inner injected classes" don't assume anything about the Action that uses them - they will work just as well for JSON actions as for "regular" actions. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=233625765
28 lines
1.1 KiB
Java
28 lines
1.1 KiB
Java
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package google.registry.reporting.icann;
|
|
|
|
import com.google.common.collect.ImmutableMap;
|
|
import org.joda.time.YearMonth;
|
|
|
|
/** Interface defining the necessary methods to construct ICANN reporting SQL queries. */
|
|
public interface QueryBuilder {
|
|
|
|
/** Returns a map from an intermediary view's table name to the query that generates it. */
|
|
ImmutableMap<String, String> getViewQueryMap(YearMonth yearMonth);
|
|
|
|
/** Returns a query that retrieves the overall report from the previously generated view. */
|
|
String getReportQuery(YearMonth yearMonth);
|
|
}
|