/* * @(#)$Id: BinaryValueType.java,v 1.8 2001/07/31 22:40:00 Bear Exp $ * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. * * This software is the proprietary information of Sun Microsystems, Inc. * Use is subject to license terms. * */ package com.sun.msv.datatype.xsd; /** * value type of "base64Binary" and "hexBinary" type. * * @author <a href="mailto:kohsuke.kawaguchi@eng.sun.com">Kohsuke KAWAGUCHI</a> */ class BinaryValueType implements java.io.Serializable { /** raw byte data */ public byte[] rawData; public boolean equals( Object o ) { if( o.getClass()!=BinaryValueType.class ) return false; BinaryValueType rhs = (BinaryValueType)o; if( rawData.length != rhs.rawData.length ) return false; int len = rawData.length; for( int i=0; i<len; i++ ) if( rawData[i]!=rhs.rawData[i] ) return false; return true; } public int hashCode() { if( rawData.length == 0 ) return 293; if( rawData.length == 1 ) return rawData[0]; else return rawData.length * rawData[0] * rawData[1]; } public BinaryValueType( byte[] rawData ) { this.rawData = rawData; } }