]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
PR:
authorGlen Mazza <gmazza@apache.org>
Mon, 6 Sep 2004 21:13:51 +0000 (21:13 +0000)
committerGlen Mazza <gmazza@apache.org>
Mon, 6 Sep 2004 21:13:51 +0000 (21:13 +0000)
Obtained from:
Submitted by:
Reviewed by:
Moved the property shorthand parser code into the properties package.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197914 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/BoxPropShorthandParser.java [deleted file]
src/java/org/apache/fop/fo/FOPropertyMapping.java
src/java/org/apache/fop/fo/GenericShorthandParser.java [deleted file]
src/java/org/apache/fop/fo/ShorthandParser.java [deleted file]
src/java/org/apache/fop/fo/properties/BoxPropShorthandParser.java [new file with mode: 0644]
src/java/org/apache/fop/fo/properties/GenericShorthandParser.java [new file with mode: 0644]
src/java/org/apache/fop/fo/properties/PropertyMaker.java
src/java/org/apache/fop/fo/properties/ShorthandParser.java [new file with mode: 0644]

diff --git a/src/java/org/apache/fop/fo/BoxPropShorthandParser.java b/src/java/org/apache/fop/fo/BoxPropShorthandParser.java
deleted file mode 100644 (file)
index 5244589..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.fo;
-
-import org.apache.fop.fo.properties.ListProperty;
-import org.apache.fop.fo.properties.Property;
-import org.apache.fop.fo.properties.PropertyMaker;
-
-/**
- * Shorthand property parser for Box properties
- */
-public class BoxPropShorthandParser extends GenericShorthandParser {
-
-    /**
-     * @see org.apache.fop.fo.GenericShorthandParser#GenericShorthandParser()
-     */
-    public BoxPropShorthandParser() {
-    }
-
-    /**
-     * Stores 1 to 4 values of same type.
-     * Set the given property based on the number of values set.
-     * Example: padding, border-width, border-color, border-style, margin
-     * @see org.apache.fop.fo.GenericShorthandParser#convertValueForProperty(
-     * int, ListProperty, PropertyMaker, PropertyList)
-     */
-    protected Property convertValueForProperty(int propId,
-                                               ListProperty listProperty,
-                                               PropertyMaker maker,
-                                               PropertyList propertyList) {
-        String name = FOPropertyMapping.getPropertyName(propId);
-        Property p = null;
-        int count = listProperty.getList().size();
-        if (name.indexOf("-top") >= 0) {
-            p = getElement(listProperty, 0);
-        } else if (name.indexOf("-right") >= 0) {
-            p = getElement(listProperty, count > 1 ? 1 : 0);
-        } else if (name.indexOf("-bottom") >= 0) {
-            p = getElement(listProperty, count > 2 ? 2 : 0);
-        } else if (name.indexOf("-left") >= 0) {
-            p = getElement(listProperty, count > 3 ? 3 : (count > 1 ? 1 : 0));
-        }
-        // if p not null, try to convert it to a value of the correct type
-        if (p != null) {
-            return maker.convertShorthandProperty(propertyList, p, null);
-        }
-        return p;
-    }
-
-}
index 54d89b247575230df9dd105e2d23bc4a24f9c511..a821654f4fd3ac88f96e45c56d5e0508fda603ba 100644 (file)
@@ -23,12 +23,14 @@ import java.util.Map;
 
 import org.apache.fop.datatypes.LengthBase;
 import org.apache.fop.fo.properties.BorderWidthPropertyMaker;
+import org.apache.fop.fo.properties.BoxPropShorthandParser;
 import org.apache.fop.fo.properties.CharacterProperty;
 import org.apache.fop.fo.properties.ColorTypeProperty;
 import org.apache.fop.fo.properties.CondLengthProperty;
 import org.apache.fop.fo.properties.CorrespondingPropertyMaker;
 import org.apache.fop.fo.properties.DimensionPropertyMaker;
 import org.apache.fop.fo.properties.EnumProperty;
+import org.apache.fop.fo.properties.GenericShorthandParser;
 import org.apache.fop.fo.properties.IndentPropertyMaker;
 import org.apache.fop.fo.properties.KeepProperty;
 import org.apache.fop.fo.properties.LengthPairProperty;
@@ -39,6 +41,7 @@ import org.apache.fop.fo.properties.ListProperty;
 import org.apache.fop.fo.properties.NumberProperty;
 import org.apache.fop.fo.properties.Property;
 import org.apache.fop.fo.properties.PropertyMaker;
+import org.apache.fop.fo.properties.ShorthandParser;
 import org.apache.fop.fo.properties.SpaceProperty;
 import org.apache.fop.fo.properties.SpacingPropertyMaker;
 import org.apache.fop.fo.properties.StringProperty;
diff --git a/src/java/org/apache/fop/fo/GenericShorthandParser.java b/src/java/org/apache/fop/fo/GenericShorthandParser.java
deleted file mode 100644 (file)
index cf1d8da..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.fo;
-
-import java.util.Enumeration;
-
-import org.apache.fop.fo.properties.ListProperty;
-import org.apache.fop.fo.properties.Property;
-import org.apache.fop.fo.properties.PropertyMaker;
-
-public class GenericShorthandParser implements ShorthandParser {
-
-    /**
-     * Constructor. 
-     */
-    public GenericShorthandParser() {
-    }
-
-    /**
-     * @param index the index into the List of properties
-     * @return the property from the List of properties at the index parameter
-     */
-    protected Property getElement(ListProperty list, int index) {
-        if (list.getList().size() > index) {
-            return (Property) list.getList().elementAt(index);
-        } else {
-            return null;
-        }
-    }
-
-    // Stores 1 to 3 values for border width, style, color
-    // Used for: border, border-top, border-right etc
-    public Property getValueForProperty(int propId,
-                                        ListProperty listProperty,
-                                        PropertyMaker maker,
-                                        PropertyList propertyList) {
-        Property prop = null;
-        // Check for keyword "inherit"
-        if (listProperty.getList().size() == 1) {
-            String sval = getElement(listProperty, 0).getString();
-            if (sval != null && sval.equals("inherit")) {
-                return propertyList.getFromParent(propId);
-            }
-        }
-        return convertValueForProperty(propId, listProperty, maker, propertyList);
-    }
-
-
-    /**
-     * Converts a property name into a Property
-     * @param propId the property ID in the Constants interface
-     * @param maker the Property.Maker to be used in the conversion
-     * @param propertyList the PropertyList from which the Property should be
-     * extracted
-     * @return the Property matching the parameters, or null if not found
-     */
-    protected Property convertValueForProperty(int propId,
-                                               ListProperty listProperty,
-                                               PropertyMaker maker,
-                                               PropertyList propertyList) {
-        Property prop = null;
-        // Try each of the stored values in turn
-        Enumeration eprop = listProperty.getList().elements();
-        while (eprop.hasMoreElements() && prop == null) {
-            Property p = (Property) eprop.nextElement();
-            prop = maker.convertShorthandProperty(propertyList, p, null);
-        }
-        return prop;
-    }
-
-}
-
diff --git a/src/java/org/apache/fop/fo/ShorthandParser.java b/src/java/org/apache/fop/fo/ShorthandParser.java
deleted file mode 100644 (file)
index 38fcc7a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.fo;
-
-import org.apache.fop.fo.properties.ListProperty;
-import org.apache.fop.fo.properties.Property;
-import org.apache.fop.fo.properties.PropertyMaker;
-
-/**
- * Interface used to provide parsing capabilities to Properties with shorthand
- * characteristics (those with multiple components).
- */
-public interface ShorthandParser {
-
-    /**
-     * @param propId the property ID in the Constants interface
-     * @param maker Maker object for the Property
-     * @param propertyList list of properties
-     * @return Property object corresponding to propName
-     */
-    Property getValueForProperty(int propId,
-                                 ListProperty listProperty,
-                                 PropertyMaker maker,
-                                 PropertyList propertyList);
-}
diff --git a/src/java/org/apache/fop/fo/properties/BoxPropShorthandParser.java b/src/java/org/apache/fop/fo/properties/BoxPropShorthandParser.java
new file mode 100644 (file)
index 0000000..5e0d079
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fo.properties;
+
+import org.apache.fop.fo.FOPropertyMapping;
+import org.apache.fop.fo.PropertyList;
+
+/**
+ * Shorthand property parser for Box properties
+ */
+public class BoxPropShorthandParser extends GenericShorthandParser {
+
+    /**
+     * @see org.apache.fop.fo.GenericShorthandParser#GenericShorthandParser()
+     */
+    public BoxPropShorthandParser() {
+    }
+
+    /**
+     * Stores 1 to 4 values of same type.
+     * Set the given property based on the number of values set.
+     * Example: padding, border-width, border-color, border-style, margin
+     * @see org.apache.fop.fo.GenericShorthandParser#convertValueForProperty(
+     * int, ListProperty, PropertyMaker, PropertyList)
+     */
+    protected Property convertValueForProperty(int propId,
+                                               ListProperty listProperty,
+                                               PropertyMaker maker,
+                                               PropertyList propertyList) {
+        String name = FOPropertyMapping.getPropertyName(propId);
+        Property p = null;
+        int count = listProperty.getList().size();
+        if (name.indexOf("-top") >= 0) {
+            p = getElement(listProperty, 0);
+        } else if (name.indexOf("-right") >= 0) {
+            p = getElement(listProperty, count > 1 ? 1 : 0);
+        } else if (name.indexOf("-bottom") >= 0) {
+            p = getElement(listProperty, count > 2 ? 2 : 0);
+        } else if (name.indexOf("-left") >= 0) {
+            p = getElement(listProperty, count > 3 ? 3 : (count > 1 ? 1 : 0));
+        }
+        // if p not null, try to convert it to a value of the correct type
+        if (p != null) {
+            return maker.convertShorthandProperty(propertyList, p, null);
+        }
+        return p;
+    }
+
+}
diff --git a/src/java/org/apache/fop/fo/properties/GenericShorthandParser.java b/src/java/org/apache/fop/fo/properties/GenericShorthandParser.java
new file mode 100644 (file)
index 0000000..54be524
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fo.properties;
+
+import java.util.Enumeration;
+import org.apache.fop.fo.PropertyList;
+
+public class GenericShorthandParser implements ShorthandParser {
+
+    /**
+     * Constructor. 
+     */
+    public GenericShorthandParser() {
+    }
+
+    /**
+     * @param index the index into the List of properties
+     * @return the property from the List of properties at the index parameter
+     */
+    protected Property getElement(ListProperty list, int index) {
+        if (list.getList().size() > index) {
+            return (Property) list.getList().elementAt(index);
+        } else {
+            return null;
+        }
+    }
+
+    // Stores 1 to 3 values for border width, style, color
+    // Used for: border, border-top, border-right etc
+    public Property getValueForProperty(int propId,
+                                        ListProperty listProperty,
+                                        PropertyMaker maker,
+                                        PropertyList propertyList) {
+        Property prop = null;
+        // Check for keyword "inherit"
+        if (listProperty.getList().size() == 1) {
+            String sval = getElement(listProperty, 0).getString();
+            if (sval != null && sval.equals("inherit")) {
+                return propertyList.getFromParent(propId);
+            }
+        }
+        return convertValueForProperty(propId, listProperty, maker, propertyList);
+    }
+
+
+    /**
+     * Converts a property name into a Property
+     * @param propId the property ID in the Constants interface
+     * @param maker the Property.Maker to be used in the conversion
+     * @param propertyList the PropertyList from which the Property should be
+     * extracted
+     * @return the Property matching the parameters, or null if not found
+     */
+    protected Property convertValueForProperty(int propId,
+                                               ListProperty listProperty,
+                                               PropertyMaker maker,
+                                               PropertyList propertyList) {
+        Property prop = null;
+        // Try each of the stored values in turn
+        Enumeration eprop = listProperty.getList().elements();
+        while (eprop.hasMoreElements() && prop == null) {
+            Property p = (Property) eprop.nextElement();
+            prop = maker.convertShorthandProperty(propertyList, p, null);
+        }
+        return prop;
+    }
+
+}
+
index 5a32d02a64d76969ea5c5ffab6d0dd92eca33619..228e3472c5dba03ace8d937b24c32fbf4d543a05 100644 (file)
@@ -28,7 +28,6 @@ import org.apache.fop.datatypes.PercentBase;
 import org.apache.fop.fo.FOPropertyMapping;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.PropertyList;
-import org.apache.fop.fo.ShorthandParser;
 import org.apache.fop.fo.expr.PropertyInfo;
 import org.apache.fop.fo.expr.PropertyParser;
 
diff --git a/src/java/org/apache/fop/fo/properties/ShorthandParser.java b/src/java/org/apache/fop/fo/properties/ShorthandParser.java
new file mode 100644 (file)
index 0000000..b8045b7
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fo.properties;
+
+import org.apache.fop.fo.PropertyList;
+
+/**
+ * Interface used to provide parsing capabilities to Properties with shorthand
+ * characteristics (those with multiple components).
+ */
+public interface ShorthandParser {
+
+    /**
+     * @param propId the property ID in the Constants interface
+     * @param maker Maker object for the Property
+     * @param propertyList list of properties
+     * @return Property object corresponding to propName
+     */
+    Property getValueForProperty(int propId,
+                                 ListProperty listProperty,
+                                 PropertyMaker maker,
+                                 PropertyList propertyList);
+}