/* (c) 2014-2015 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.config; import java.io.Serializable; import javax.media.jai.JAI; import javax.media.jai.TileCache; /** * Java Advanced Imaging configuration. * * @author Justin Deoliveira, OpenGeo * */ public interface JAIInfo extends Cloneable, Serializable { static enum PngEncoderType { JDK, NATIVE, PNGJ }; /** * Flag controlling image interpolation. */ boolean getAllowInterpolation(); void setAllowInterpolation(boolean allowInterpolation); /** * Flag controlling the recycling of image tiles during jai operations. */ boolean isRecycling(); void setRecycling(boolean recycling); /** * The priority of the jai processing thread. */ int getTilePriority(); void setTilePriority(int tilePriority); /** * The number of threads allocated for jai image processing. */ int getTileThreads(); void setTileThreads(int tileThreads); /** * The maximum percentage of memory allocated to jai for image processing. */ double getMemoryCapacity(); void setMemoryCapacity(double memoryCapacity); /** * @uml.property name="memoryThreshold" */ double getMemoryThreshold(); void setMemoryThreshold(double memoryThreshold); /** * Flag controlling native PNG image processing. * @deprecated Use {@link #getPngEncoderType()} instead */ @Deprecated boolean isPngAcceleration(); @Deprecated void setPngAcceleration(boolean pngAcceleration); PngEncoderType getPngEncoderType(); void setPngEncoderType(PngEncoderType type); /** * Flag controlling native JPEG image processing. */ boolean isJpegAcceleration(); void setJpegAcceleration(boolean jpegAcceleration); /** * Flag controlling native mosaicing operations. */ boolean isAllowNativeMosaic(); void setAllowNativeMosaic(boolean allowNativeMosaic); /** * Flag controlling native warping operations. */ boolean isAllowNativeWarp(); void setAllowNativeWarp(boolean allowNativeWarp); /** * Flag controlling the image io cache. * @deprecated Replaced by {@link CoverageAccessInfo#getImageIOCacheThreshold()} */ void setImageIOCache(boolean imageIOCache); /** * @deprecated */ boolean isImageIOCache(); /** * The jai instance. */ JAI getJAI(); void setJAI(JAI jai); /** * The jai tile cache. */ TileCache getTileCache(); void setTileCache(TileCache tileCache); /** * JAI-EXT section */ JAIEXTInfo getJAIEXTInfo(); void setJAIEXTInfo(JAIEXTInfo jaiext); public JAIInfo clone(); }