/* * Copyright 2012 International Business Machines Corp. * * See the NOTICE file distributed with this work for additional information * regarding copyright ownership. 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 com.ibm.jbatch.container.modelresolver; import com.ibm.jbatch.container.jsl.TransitionElement; import com.ibm.jbatch.container.modelresolver.impl.AnalyzerPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.BatchletPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.CheckpointAlgorithmPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ChunkPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.CollectorPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ControlElementPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.DecisionPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ExceptionClassesPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.FlowPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ItemProcessorPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ItemReaderPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ItemWriterPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.JobPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.ListenerPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.PartitionMapperPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.PartitionPlanPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.PartitionPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.PartitionReducerPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.SplitPropertyResolverImpl; import com.ibm.jbatch.container.modelresolver.impl.StepPropertyResolverImpl; import com.ibm.jbatch.jsl.model.Analyzer; import com.ibm.jbatch.jsl.model.Batchlet; import com.ibm.jbatch.jsl.model.Chunk; import com.ibm.jbatch.jsl.model.Collector; import com.ibm.jbatch.jsl.model.Decision; import com.ibm.jbatch.jsl.model.ExceptionClassFilter; import com.ibm.jbatch.jsl.model.Flow; import com.ibm.jbatch.jsl.model.ItemProcessor; import com.ibm.jbatch.jsl.model.ItemReader; import com.ibm.jbatch.jsl.model.ItemWriter; import com.ibm.jbatch.jsl.model.JSLJob; import com.ibm.jbatch.jsl.model.Listener; import com.ibm.jbatch.jsl.model.Partition; import com.ibm.jbatch.jsl.model.PartitionMapper; import com.ibm.jbatch.jsl.model.PartitionPlan; import com.ibm.jbatch.jsl.model.PartitionReducer; import com.ibm.jbatch.jsl.model.Split; import com.ibm.jbatch.jsl.model.Step; public class PropertyResolverFactory { public static PropertyResolver<JSLJob> createJobPropertyResolver(boolean isPartitionedStep) { return new JobPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Step> createStepPropertyResolver(boolean isPartitionedStep) { return new StepPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Batchlet> createBatchletPropertyResolver(boolean isPartitionedStep) { return new BatchletPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Split> createSplitPropertyResolver(boolean isPartitionedStep) { return new SplitPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Flow> createFlowPropertyResolver(boolean isPartitionedStep) { return new FlowPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Chunk> createChunkPropertyResolver(boolean isPartitionedStep) { return new ChunkPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<TransitionElement> createTransitionElementPropertyResolver(boolean isPartitionedStep) { return new ControlElementPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Decision> createDecisionPropertyResolver(boolean isPartitionedStep) { return new DecisionPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Listener> createListenerPropertyResolver(boolean isPartitionedStep) { return new ListenerPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Partition> createPartitionPropertyResolver(boolean isPartitionedStep) { return new PartitionPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<PartitionMapper> createPartitionMapperPropertyResolver(boolean isPartitionedStep) { return new PartitionMapperPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<PartitionPlan> createPartitionPlanPropertyResolver(boolean isPartitionedStep) { return new PartitionPlanPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<PartitionReducer> createPartitionReducerPropertyResolver(boolean isPartitionedStep) { return new PartitionReducerPropertyResolverImpl(isPartitionedStep); } public static CheckpointAlgorithmPropertyResolverImpl createCheckpointAlgorithmPropertyResolver(boolean isPartitionedStep) { return new CheckpointAlgorithmPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Collector> createCollectorPropertyResolver(boolean isPartitionedStep) { return new CollectorPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<Analyzer> createAnalyzerPropertyResolver(boolean isPartitionedStep) { return new AnalyzerPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<ItemReader> createReaderPropertyResolver(boolean isPartitionedStep) { return new ItemReaderPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<ItemProcessor> createProcessorPropertyResolver(boolean isPartitionedStep) { return new ItemProcessorPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<ItemWriter> createWriterPropertyResolver(boolean isPartitionedStep) { return new ItemWriterPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<ExceptionClassFilter> createSkippableExceptionClassesPropertyResolver(boolean isPartitionedStep) { return new ExceptionClassesPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<ExceptionClassFilter> createRetryableExceptionClassesPropertyResolver(boolean isPartitionedStep) { return new ExceptionClassesPropertyResolverImpl(isPartitionedStep); } public static PropertyResolver<ExceptionClassFilter> createNoRollbackExceptionClassesPropertyResolver(boolean isPartitionedStep) { return new ExceptionClassesPropertyResolverImpl(isPartitionedStep); } }