001package org.dcm4che3.conf.core.context; 002 003import org.dcm4che3.conf.core.api.TypeSafeConfiguration; 004import org.dcm4che3.conf.core.api.internal.BeanVitalizer; 005 006/** 007 * @author rawmahn 008 */ 009public class ContextFactory { 010 011 private final TypeSafeConfiguration typeSafeConfiguration; 012 private final BeanVitalizer vitalizer; 013 014 public ContextFactory(TypeSafeConfiguration typeSafeConfiguration) { 015 this.typeSafeConfiguration = typeSafeConfiguration; 016 this.vitalizer = null; 017 } 018 public ContextFactory(BeanVitalizer vitalizer) { 019 this.typeSafeConfiguration = null; 020 this.vitalizer = vitalizer; 021 } 022 023 public LoadingContext newLoadingContext() { 024 if (typeSafeConfiguration == null) 025 return new LoadingContext(vitalizer); 026 else 027 return new LoadingContext(typeSafeConfiguration); 028 } 029 030 public SavingContext newSavingContext() { 031 if (typeSafeConfiguration == null) { 032 return new SavingContext(vitalizer); 033 } else 034 return new SavingContext(typeSafeConfiguration); 035 } 036 037 public ProcessingContext newProcessingContext() { 038 if (typeSafeConfiguration==null) 039 return new ProcessingContext(vitalizer); 040 else 041 return new ProcessingContext(typeSafeConfiguration); 042 } 043 044}