~ubuntu-branches/ubuntu/raring/libfonts-java/raring

« back to all changes in this revision

Viewing changes to source/org/jfree/fonts/encoding/EncodingFactory.java

  • Committer: Package Import Robot
  • Author(s): Rene Engelhard
  • Date: 2011-12-29 23:12:17 UTC
  • mfrom: (1.1.3) (2.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20111229231217-f0tkh1n7f86opmn8
Tags: 1.1.6.dfsg-3
add missing build-dep on ant-optional... (closes: #652799) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * ===========================================
3
 
 * LibFonts : a free Java font reading library
4
 
 * ===========================================
5
 
 *
6
 
 * Project Info:  http://reporting.pentaho.org/libfonts/
7
 
 *
8
 
 * (C) Copyright 2006-2007, by Pentaho Corporation and Contributors.
9
 
 *
10
 
 * This library is free software; you can redistribute it and/or modify it under the terms
11
 
 * of the GNU Lesser General Public License as published by the Free Software Foundation;
12
 
 * either version 2.1 of the License, or (at your option) any later version.
13
 
 *
14
 
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15
 
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
 
 * See the GNU Lesser General Public License for more details.
17
 
 *
18
 
 * You should have received a copy of the GNU Lesser General Public License along with this
19
 
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20
 
 * Boston, MA 02111-1307, USA.
21
 
 *
22
 
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
23
 
 * in the United States and other countries.]
24
 
 *
25
 
 * ------------
26
 
 * $Id: EncodingFactory.java 3523 2007-10-16 11:03:09Z tmorgner $
27
 
 * ------------
28
 
 * (C) Copyright 2006-2007, by Pentaho Corporation.
29
 
 */
30
 
package org.jfree.fonts.encoding;
31
 
 
32
 
import java.io.InputStream;
33
 
import java.io.ObjectInputStream;
34
 
import java.io.IOException;
35
 
 
36
 
import org.jfree.resourceloader.ResourceFactory;
37
 
import org.jfree.resourceloader.Resource;
38
 
import org.jfree.resourceloader.ResourceManager;
39
 
import org.jfree.resourceloader.ResourceData;
40
 
import org.jfree.resourceloader.ResourceKey;
41
 
import org.jfree.resourceloader.ResourceCreationException;
42
 
import org.jfree.resourceloader.ResourceLoadingException;
43
 
import org.jfree.resourceloader.SimpleResource;
44
 
 
45
 
/**
46
 
 * Creation-Date: 29.04.2006, 14:32:15
47
 
 *
48
 
 * @author Thomas Morgner
49
 
 */
50
 
public class EncodingFactory implements ResourceFactory
51
 
{
52
 
  public EncodingFactory()
53
 
  {
54
 
  }
55
 
 
56
 
  public Resource create(final ResourceManager manager,
57
 
                         final ResourceData data,
58
 
                         final ResourceKey context)
59
 
          throws ResourceCreationException, ResourceLoadingException
60
 
  {
61
 
    try
62
 
    {
63
 
      final InputStream in = data.getResourceAsStream(manager);
64
 
      final ObjectInputStream oin = new ObjectInputStream(in);
65
 
      try
66
 
      {
67
 
        final Object ob = oin.readObject();
68
 
        // yes, that will be more generic in the future ...
69
 
        if (ob instanceof External8BitEncodingData == false)
70
 
        {
71
 
          throw new ResourceCreationException("This is no 8Bit Encoding data");
72
 
        }
73
 
        final External8BitEncodingData encData = (External8BitEncodingData) ob;
74
 
        final External8BitEncodingCore encCore =
75
 
                new External8BitEncodingCore(encData);
76
 
        return new SimpleResource(data.getKey(), encCore, data.getVersion(manager));
77
 
      }
78
 
      finally
79
 
      {
80
 
        oin.close();
81
 
      }
82
 
    }
83
 
    catch (IOException e)
84
 
    {
85
 
      throw new ResourceLoadingException("Failed to load resource", e);
86
 
    }
87
 
    catch (ClassNotFoundException e)
88
 
    {
89
 
      throw new ResourceCreationException
90
 
              ("Missing class definition: Failed to create encoding.");
91
 
    }
92
 
  }
93
 
 
94
 
  public Class getFactoryType()
95
 
  {
96
 
    return Encoding.class;
97
 
  }
98
 
 
99
 
  public void initializeDefaults()
100
 
  {
101
 
    // do nothing -- yet ..
102
 
  }
103
 
}