/* * @(#)ReflectionGraphicsManager.java * * Copyright 2002 EGANTT LLP. All rights reserved. * PROPRIETARY/QPL. Use is subject to license terms. */ package com.egantt.awt.graphics.manager; import com.egantt.awt.graphics.GraphicsContext; import com.egantt.awt.graphics.GraphicsResources; import ext.egantt.util.reflect.ReflectionHelper; import java.awt.Graphics; import java.awt.Graphics2D; import java.util.Iterator; /** * Should avoid using this one, as the disadvantages are it's quite slow * and it will break under applets because reflection is not allowed */ public class ReflectionGraphicsManager extends AbstractGraphicsManager { // __________________________________________________________________________ public Graphics create(Object key, Graphics g, GraphicsContext context) { Graphics2D g2d = (Graphics2D) g; for (Iterator iter = ReflectionHelper.fields(GraphicsResources.class); iter.hasNext();) { String field = (String) iter.next(); Object value = context.get(key, field); if (value != null) ReflectionHelper.set(g2d, field, value); } return g; } }