001// Copyright 2005 The Apache Software Foundation
002//
003// Licensed under the Apache License, Version 2.0 (the "License");
004// you may not use this file except in compliance with the License.
005// You may obtain a copy of the License at
006//
007//     http://www.apache.org/licenses/LICENSE-2.0
008//
009// Unless required by applicable law or agreed to in writing, software
010// distributed under the License is distributed on an "AS IS" BASIS,
011// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
012// See the License for the specific language governing permissions and
013// limitations under the License.
014
015package org.apache.tapestry.util.io;
016
017import org.apache.hivemind.ClassResolver;
018import org.apache.hivemind.impl.DefaultClassResolver;
019
020/**
021 * Utility methods used when testing code that uses a
022 * {@link org.apache.tapestry.services.DataSqueezer}.
023 * 
024 * @author Howard Lewis Ship
025 * @since 4.0
026 */
027public class DataSqueezerUtil
028{
029
030    /**
031     * Returns a data squeezer with a set of basic adaptors, ready to be used by JUnit-tests.
032     */
033    public static DataSqueezerImpl createUnitTestSqueezer(ClassResolver resolver)
034    {
035        DataSqueezerImpl ds = new DataSqueezerImpl();
036
037        ds.register(new BooleanAdaptor());
038        ds.register(new ByteAdaptor());
039        ds.register(new CharacterAdaptor());
040        ds.register(new ComponentAddressAdaptor());
041        ds.register(new DoubleAdaptor());
042        ds.register(new FloatAdaptor());
043        ds.register(new IntegerAdaptor());
044        ds.register(new LongAdaptor());
045        ds.register(new ShortAdaptor());
046        ds.register(new StringAdaptor());
047
048        SerializableAdaptor ser = new SerializableAdaptor();
049        ser.setResolver(resolver);
050
051        ds.register(ser);
052
053        return ds;
054    }
055
056    /**
057     * Returns a data squeezer with a set of basic adaptors, ready to be used by JUnit-tests.
058     */
059
060    public static DataSqueezerImpl createUnitTestSqueezer()
061    {
062        return createUnitTestSqueezer(new DefaultClassResolver());
063    }
064
065}