All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.pdfbox.preflight.graphic.ColorSpaceHelperFactory Maven / Gradle / Ivy

/*****************************************************************************
 * 
 * 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 org.apache.pdfbox.preflight.graphic;

import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
import org.apache.pdfbox.preflight.PreflightContext;

/**
 * This factory create the right Helper according to the owner of the ColorSpace entry.
 */
public class ColorSpaceHelperFactory
{

    /**
     * Return an instance of ColorSpaceHelper according to the ColorSpaceRestriction value.
     * 
    *
  • ColorSpaceRestriction.NO_PATTERN : returns NoPatternColorSpaceHelper *
  • ColorSpaceRestriction.ONLY_DEVICE : returns DeviceColorSpaceHelper *
  • ColorSpaceRestriction.NO_RESTRICTION (default) : returns StandardColorSpaceHelper *
* * @param context * the PreflightContext to access useful data * @param cs * the High level PDFBox object which represents the ColorSpace * @param csr * the color space restriction * @return the ColorSpaceHelper instance. */ public ColorSpaceHelper getColorSpaceHelper(PreflightContext context, PDColorSpace cs, ColorSpaceRestriction csr) { switch (csr) { case NO_PATTERN: return new NoPatternColorSpaceHelper(context, cs); case ONLY_DEVICE: return new DeviceColorSpaceHelper(context, cs); default: return new StandardColorSpaceHelper(context, cs); } } /** * Enum used as argument of methods of this factory to return the right Helper. */ public enum ColorSpaceRestriction { NO_RESTRICTION, NO_PATTERN, ONLY_DEVICE } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy