📄 morphutils.java
字号:
/*
* Copyright 2006 the original author or authors.
*
* 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.
*/
package net.sf.ezmorph;
import java.math.BigDecimal;
import java.math.BigInteger;
import net.sf.ezmorph.array.BooleanArrayMorpher;
import net.sf.ezmorph.array.ByteArrayMorpher;
import net.sf.ezmorph.array.CharArrayMorpher;
import net.sf.ezmorph.array.DoubleArrayMorpher;
import net.sf.ezmorph.array.FloatArrayMorpher;
import net.sf.ezmorph.array.IntArrayMorpher;
import net.sf.ezmorph.array.LongArrayMorpher;
import net.sf.ezmorph.array.ObjectArrayMorpher;
import net.sf.ezmorph.array.ShortArrayMorpher;
import net.sf.ezmorph.object.BooleanObjectMorpher;
import net.sf.ezmorph.object.CharacterObjectMorpher;
import net.sf.ezmorph.object.ClassMorpher;
import net.sf.ezmorph.object.NumberMorpher;
import net.sf.ezmorph.object.StringMorpher;
import net.sf.ezmorph.primitive.BooleanMorpher;
import net.sf.ezmorph.primitive.ByteMorpher;
import net.sf.ezmorph.primitive.CharMorpher;
import net.sf.ezmorph.primitive.DoubleMorpher;
import net.sf.ezmorph.primitive.FloatMorpher;
import net.sf.ezmorph.primitive.IntMorpher;
import net.sf.ezmorph.primitive.LongMorpher;
import net.sf.ezmorph.primitive.ShortMorpher;
/**
* Covenient class for registering standard morphers to a ConvertRegistry.<br
*
* @author Andres Almiray <aalmiray@users.sourceforge.net>
*/
public class MorphUtils
{
/** Constant value for BigDecimal(1) */
public static final BigDecimal BIGDECIMAL_ONE = new BigDecimal( "1" );
/** Constant value for BigDecimal(0) */
public static final BigDecimal BIGDECIMAL_ZERO = new BigDecimal( "0" );
/**
* Clears and registers all standard morpehrs.
*
* @param morpherRegistry
*/
public static void registerStandardMorphers( MorpherRegistry morpherRegistry )
{
morpherRegistry.clear();
registerStandardPrimitiveMorphers( morpherRegistry );
registerStandardPrimitiveArrayMorphers( morpherRegistry );
registerStandardObjectMorphers( morpherRegistry );
registerStandardObjectArrayMorphers( morpherRegistry );
}
/**
* Registers morphers for arrays of wrappers and String with standard default
* values.<br>
* <ul>
* <li>Boolean - Boolean.FALSE</li>
* <li>Character - new Character('\0')</li>
* <li>Byte - new Byte( (byte)0 )</li>
* <li>Short - new Short( (short)0 )</li>
* <li>Integer - new Integer( 0 )</li>
* <li>Long - new Long( 0 )</li>
* <li>Float - new Float( 0 )</li>
* <li>Double - new Double( 0 )</li>
* <li>String - null</li>
* <li>BigInteger - BigInteger.ZERO</li>
* <li>BigDecimal - MorphUtils.BIGDECIMAL_ZERO</li>
* </ul>
*
* @param morpherRegistry
*/
public static void registerStandardObjectArrayMorphers( MorpherRegistry morpherRegistry )
{
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new BooleanObjectMorpher(
Boolean.FALSE ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new CharacterObjectMorpher(
new Character( '\0' ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( StringMorpher.getInstance() ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( Byte.class,
new Byte( (byte) 0 ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( Short.class,
new Short( (short) 0 ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( Integer.class,
new Integer( 0 ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( Long.class,
new Long( 0 ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( Float.class,
new Float( 0 ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( Double.class,
new Double( 0 ) ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( BigInteger.class,
BigInteger.ZERO ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( new NumberMorpher( BigDecimal.class,
MorphUtils.BIGDECIMAL_ZERO ) ) );
morpherRegistry.registerMorpher( new ObjectArrayMorpher( ClassMorpher.getInstance() ) );
}
/**
* Registers morphers for wrappers and String with standard default values.<br>
* <ul>
* <li>Boolean - Boolean.FALSE</li>
* <li>Character - new Character('\0')</li>
* <li>Byte - new Byte( (byte)0 )</li>
* <li>Short - new Short( (short)0 )</li>
* <li>Integer - new Integer( 0 )</li>
* <li>Long - new Long( 0 )</li>
* <li>Float - new Float( 0 )</li>
* <li>Double - new Double( 0 )</li>
* <li>String - null</li>
* <li>BigInteger - BigInteger.ZERO</li>
* <li>BigDecimal - MorphUtils.BIGDECIMAL_ZERO</li>
* </ul>
*
* @param morpherRegistry
*/
public static void registerStandardObjectMorphers( MorpherRegistry morpherRegistry )
{
morpherRegistry.registerMorpher( new BooleanObjectMorpher( Boolean.FALSE ) );
morpherRegistry.registerMorpher( new CharacterObjectMorpher( new Character( '\0' ) ) );
morpherRegistry.registerMorpher( StringMorpher.getInstance() );
morpherRegistry.registerMorpher( new NumberMorpher( Byte.class, new Byte( (byte) 0 ) ) );
morpherRegistry.registerMorpher( new NumberMorpher( Short.class, new Short( (short) 0 ) ) );
morpherRegistry.registerMorpher( new NumberMorpher( Integer.class, new Integer( 0 ) ) );
morpherRegistry.registerMorpher( new NumberMorpher( Long.class, new Long( 0 ) ) );
morpherRegistry.registerMorpher( new NumberMorpher( Float.class, new Float( 0 ) ) );
morpherRegistry.registerMorpher( new NumberMorpher( Double.class, new Double( 0 ) ) );
morpherRegistry.registerMorpher( new NumberMorpher( BigInteger.class, BigInteger.ZERO ) );
morpherRegistry.registerMorpher( new NumberMorpher( BigDecimal.class,
MorphUtils.BIGDECIMAL_ZERO ) );
morpherRegistry.registerMorpher( ClassMorpher.getInstance() );
}
/**
* Registers morphers for arrays of primitives with standard default values.<br>
* <ul>
* <li>boolean - false</li>
* <li>char - '\0'</li>
* <li>byte - 0</li>
* <li>short - 0</li>
* <li>int - 0</li>
* <li>long - 0</li>
* <li>float - 0</li>
* <li>double - 0</li>
* </ul>
*
* @param morpherRegistry
*/
public static void registerStandardPrimitiveArrayMorphers( MorpherRegistry morpherRegistry )
{
morpherRegistry.registerMorpher( new BooleanArrayMorpher( false ) );
morpherRegistry.registerMorpher( new CharArrayMorpher( '\0' ) );
morpherRegistry.registerMorpher( new ByteArrayMorpher( (byte) 0 ) );
morpherRegistry.registerMorpher( new ShortArrayMorpher( (short) 0 ) );
morpherRegistry.registerMorpher( new IntArrayMorpher( 0 ) );
morpherRegistry.registerMorpher( new LongArrayMorpher( 0 ) );
morpherRegistry.registerMorpher( new FloatArrayMorpher( 0 ) );
morpherRegistry.registerMorpher( new DoubleArrayMorpher( 0 ) );
}
/**
* Registers morphers for primitives with standard default values.<br>
* <ul>
* <li>boolean - false</li>
* <li>char - '\0'</li>
* <li>byte - 0</li>
* <li>short - 0</li>
* <li>int - 0</li>
* <li>long - 0</li>
* <li>float - 0</li>
* <li>double - 0</li>
* </ul>
*
* @param morpherRegistry
*/
public static void registerStandardPrimitiveMorphers( MorpherRegistry morpherRegistry )
{
morpherRegistry.registerMorpher( new BooleanMorpher( false ) );
morpherRegistry.registerMorpher( new CharMorpher( '\0' ) );
morpherRegistry.registerMorpher( new ByteMorpher( (byte) 0 ) );
morpherRegistry.registerMorpher( new ShortMorpher( (short) 0 ) );
morpherRegistry.registerMorpher( new IntMorpher( 0 ) );
morpherRegistry.registerMorpher( new LongMorpher( 0 ) );
morpherRegistry.registerMorpher( new FloatMorpher( 0 ) );
morpherRegistry.registerMorpher( new DoubleMorpher( 0 ) );
}
private MorphUtils()
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -