CodeSetsComponentImpl.java revision 672:2bb058ce572e
1/* 2 * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package com.sun.corba.se.impl.ior.iiop; 27 28import org.omg.CORBA_2_3.portable.InputStream ; 29import org.omg.CORBA_2_3.portable.OutputStream ; 30 31import com.sun.corba.se.spi.ior.TaggedComponentBase ; 32 33import com.sun.corba.se.spi.ior.iiop.CodeSetsComponent ; 34 35import org.omg.IOP.TAG_CODE_SETS ; 36 37import com.sun.corba.se.impl.encoding.CodeSetComponentInfo ; 38import com.sun.corba.se.impl.encoding.MarshalOutputStream ; 39import com.sun.corba.se.impl.encoding.MarshalInputStream ; 40 41public class CodeSetsComponentImpl extends TaggedComponentBase 42 implements CodeSetsComponent 43{ 44 CodeSetComponentInfo csci ; 45 46 public boolean equals( Object obj ) 47 { 48 if (!(obj instanceof CodeSetsComponentImpl)) 49 return false ; 50 51 CodeSetsComponentImpl other = (CodeSetsComponentImpl)obj ; 52 53 return csci.equals( other.csci ) ; 54 } 55 56 public int hashCode() 57 { 58 return csci.hashCode() ; 59 } 60 61 public String toString() 62 { 63 return "CodeSetsComponentImpl[csci=" + csci + "]" ; 64 } 65 66 public CodeSetsComponentImpl() 67 { 68 // Uses our default code sets (see CodeSetComponentInfo) 69 csci = new CodeSetComponentInfo() ; 70 } 71 72 public CodeSetsComponentImpl( InputStream is ) 73 { 74 csci = new CodeSetComponentInfo() ; 75 csci.read( (MarshalInputStream)is ) ; 76 } 77 78 public CodeSetsComponentImpl(com.sun.corba.se.spi.orb.ORB orb) 79 { 80 if (orb == null) 81 csci = new CodeSetComponentInfo(); 82 else 83 csci = orb.getORBData().getCodeSetComponentInfo(); 84 } 85 86 public CodeSetComponentInfo getCodeSetComponentInfo() 87 { 88 return csci ; 89 } 90 91 public void writeContents(OutputStream os) 92 { 93 csci.write( (MarshalOutputStream)os ) ; 94 } 95 96 public int getId() 97 { 98 return TAG_CODE_SETS.value ; // 1 in CORBA 2.3.1 13.6.3 99 } 100} 101