| /* |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You 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. |
| |
| */ |
| |
| package org.apache.batik.transcoder.wmf.tosvg; |
| |
| import java.util.List; |
| import java.util.ArrayList; |
| |
| /** |
| * This is used to keep data while processing WMF-files. |
| * It is tagged with a type and holds a list of Integer-objects. |
| * It seems, it might be rewritten to keep just the plain int-data. |
| * |
| * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a> |
| * @version $Id$ |
| */ |
| public class MetaRecord /*implements Serializable*/ { |
| |
| public int functionId; |
| public int numPoints; |
| |
| private final List ptVector = new ArrayList(); |
| |
| public MetaRecord() { |
| } |
| |
| public void EnsureCapacity( int cc ) { |
| } |
| |
| /** |
| * when you are storing Integer-objects, consider using addElement( int ) instead. |
| * @param obj |
| */ |
| public void AddElement( Object obj ) { |
| ptVector.add( obj ); |
| } |
| |
| /** |
| * helper method to add int-values. This way we keep the call to new Integer() |
| * in one place, here. |
| * |
| * @param iValue the value to add to ptVector, wrapped in an Integer |
| */ |
| public final void addElement( int iValue ){ |
| ptVector.add( new Integer( iValue ) ); |
| } |
| |
| /** |
| * if you dont really need the Integer-object from this method |
| * it is recommended to use the <code>elementAt()</code>-method instead, |
| * which returns an <code>int</code>. |
| */ |
| public Integer ElementAt( int offset ) { |
| return (Integer)ptVector.get( offset ); |
| } |
| |
| /** |
| * helper-method to return the plain int-value from the record |
| * and save the .intValue()-call at the caller's site. |
| * @param offset of the element to get |
| * @return the intValue of the element at offset |
| */ |
| public final int elementAt( int offset ){ |
| return ((Integer)ptVector.get( offset )).intValue(); |
| } |
| |
| /** A record that contain byte arrays elements. |
| */ |
| public static class ByteRecord extends MetaRecord { |
| public final byte[] bstr; |
| |
| public ByteRecord(byte[] bstr) { |
| this.bstr = bstr; |
| } |
| } |
| |
| public static class StringRecord extends MetaRecord /*implements Serializable*/ { |
| public final String text; |
| |
| public StringRecord( String newText ) { |
| text = newText; |
| } |
| } |
| } |