diff options
author | David Gilbert <david.gilbert@object-refinery.com> | 2005-02-22 19:07:40 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2005-02-22 19:07:40 +0000 |
commit | 118ca7d014b362b4d3c4417650d8031cde97b508 (patch) | |
tree | 78632f35b07ac4cd2c9b28aaaf52fb6f59b19ba1 | |
parent | b22dcb1f3071073b9521d72824eccad571c81613 (diff) | |
download | gcc-118ca7d014b362b4d3c4417650d8031cde97b508.zip gcc-118ca7d014b362b4d3c4417650d8031cde97b508.tar.gz gcc-118ca7d014b362b4d3c4417650d8031cde97b508.tar.bz2 |
2005-02-22 David Gilbert <david.gilbert@object-refinery.com>
* java/awt/font/TransformAttribute.java,
(TransformAttribute(AffineTransform)): throw
IllegalArgumentException for null transform.
(getTransform): return a copy of transform.
Added doc comments to all.
From-SVN: r95408
-rw-r--r-- | libjava/ChangeLog | 8 | ||||
-rw-r--r-- | libjava/java/awt/font/TransformAttribute.java | 37 |
2 files changed, 40 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d36ba6f..5c99a78 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2005-02-22 David Gilbert <david.gilbert@object-refinery.com> + + * java/awt/font/TransformAttribute.java, + (TransformAttribute(AffineTransform)): throw + IllegalArgumentException for null transform. + (getTransform): return a copy of transform. + Added doc comments to all. + 2005-02-22 Jeroen Frijters <jeroen@frijters.net> * java/io/Externalizable.java, diff --git a/libjava/java/awt/font/TransformAttribute.java b/libjava/java/awt/font/TransformAttribute.java index b241704..3bb3c3c 100644 --- a/libjava/java/awt/font/TransformAttribute.java +++ b/libjava/java/awt/font/TransformAttribute.java @@ -1,5 +1,5 @@ -/* TransformAttribute.java - Copyright (C) 2003 Free Software Foundation, Inc. +/* TransformAttribute.java -- + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,13 @@ import java.awt.geom.AffineTransform; import java.io.Serializable; /** + * This class provides a mechanism for using an {@link AffineTransform} as + * an <i>immutable</i> attribute (for example, in the + * {@link java.text.AttributedString} class). Any transform passed to + * this class is copied before being stored, and any transform handed out + * by this class is a copy of the stored transform. In this way, it is + * not possible to modify the stored transform. + * * @author Michael Koch */ public final class TransformAttribute implements Serializable @@ -50,20 +57,40 @@ public final class TransformAttribute implements Serializable private AffineTransform affineTransform; + /** + * Creates a new attribute that contains a copy of the given transform. + * + * @param transform the transform (<code>null</code> not permitted). + * + * @throws IllegalArgumentException if <code>transform</code> is + * <code>null</code>. + */ public TransformAttribute (AffineTransform transform) { - if (transform != null) + if (transform == null) { - this.affineTransform = new AffineTransform (transform); + throw new IllegalArgumentException("Null 'transform' not permitted."); } + this.affineTransform = new AffineTransform (transform); } + /** + * Returns a copy of the transform contained by this attribute. + * + * @return A copy of the transform. + */ public AffineTransform getTransform () { - return affineTransform; + return (AffineTransform) affineTransform.clone(); } /** + * Returns <code>true</code> if the transform contained by this attribute is + * an identity transform, and <code>false</code> otherwise. + * + * @return <code>true</code> if the transform contained by this attribute is + * an identity transform, and <code>false</code> otherwise. + * * @since 1.4 */ public boolean isIdentity () |