/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 gobblin; import gobblin.converter.Converter; import gobblin.fork.ForkOperator; import gobblin.publisher.DataPublisher; import gobblin.qualitychecker.row.RowLevelPolicy; import gobblin.qualitychecker.task.TaskLevelPolicy; import gobblin.source.Source; import gobblin.source.extractor.Extractor; import gobblin.writer.DataWriter; /** * Enumeration of available gobblin constructs. */ public enum Constructs { /** {@link gobblin.source.Source} */ SOURCE("Source", Source.class), /** {@link gobblin.source.extractor.Extractor} */ EXTRACTOR("Extractor", Extractor.class), /** {@link gobblin.converter.Converter} */ CONVERTER("Converter", Converter.class), /** {@link gobblin.qualitychecker.row.RowLevelPolicy} */ ROW_QUALITY_CHECKER("RowLevelPolicy", RowLevelPolicy.class), /** {@link gobblin.qualitychecker.task.TaskLevelPolicy} */ TASK_QUALITY_CHECKER("TaskLevelPolicy", TaskLevelPolicy.class), /** {@link gobblin.fork.ForkOperator} */ FORK_OPERATOR("ForkOperator", ForkOperator.class), /** {@link gobblin.writer.DataWriter} */ WRITER("DataWriter", DataWriter.class), /** {@link gobblin.publisher.DataPublisher} */ DATA_PUBLISHER("DataPublisher",DataPublisher.class); private final String name; private final Class<?> klazz; Constructs(String name, Class<?> klazz) { this.name = name; this.klazz = klazz; } @Override public String toString() { return this.name; } public Class<?> constructClass() { return this.klazz; } }