content: /*
   * @(#)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;
  	}
  }
  