GenericTaggedProfile.java revision 608:7e06bf1dcb09
1331722Seadler/*
2341477Svmaffione * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3341477Svmaffione * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4261909Sluigi *
5261909Sluigi * This code is free software; you can redistribute it and/or modify it
6261909Sluigi * under the terms of the GNU General Public License version 2 only, as
7261909Sluigi * published by the Free Software Foundation.  Oracle designates this
8261909Sluigi * particular file as subject to the "Classpath" exception as provided
9261909Sluigi * by Oracle in the LICENSE file that accompanied this code.
10261909Sluigi *
11261909Sluigi * This code is distributed in the hope that it will be useful, but WITHOUT
12261909Sluigi * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13261909Sluigi * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14261909Sluigi * version 2 for more details (a copy is included in the LICENSE file that
15261909Sluigi * accompanied this code).
16261909Sluigi *
17261909Sluigi * You should have received a copy of the GNU General Public License version
18261909Sluigi * 2 along with this work; if not, write to the Free Software Foundation,
19261909Sluigi * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20261909Sluigi *
21261909Sluigi * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22261909Sluigi * or visit www.oracle.com if you need additional information or have any
23261909Sluigi * questions.
24261909Sluigi */
25261909Sluigi
26261909Sluigipackage com.sun.corba.se.impl.ior;
27261909Sluigi
28261909Sluigiimport org.omg.CORBA_2_3.portable.InputStream ;
29261909Sluigi
30261909Sluigiimport com.sun.corba.se.spi.ior.TaggedProfile ;
31261909Sluigiimport com.sun.corba.se.spi.ior.TaggedProfileTemplate ;
32261909Sluigiimport com.sun.corba.se.spi.ior.ObjectId ;
33261909Sluigiimport com.sun.corba.se.spi.ior.ObjectKeyTemplate ;
34261909Sluigiimport com.sun.corba.se.spi.ior.ObjectKey ;
35261909Sluigi
36261909Sluigiimport com.sun.corba.se.spi.orb.ORB ;
37341477Svmaffione
38261909Sluigiimport com.sun.corba.se.spi.ior.iiop.GIOPVersion ;
39261909Sluigi
40261909Sluigiimport com.sun.corba.se.impl.encoding.EncapsOutputStream ;
41261909Sluigi
42261909Sluigi/**
43261909Sluigi * @author
44261909Sluigi */
45261909Sluigipublic class GenericTaggedProfile extends GenericIdentifiable implements TaggedProfile
46261909Sluigi{
47261909Sluigi    private ORB orb ;
48261909Sluigi
49261909Sluigi    public GenericTaggedProfile( int id, InputStream is )
50261909Sluigi    {
51261909Sluigi        super( id, is ) ;
52261909Sluigi        this.orb = (ORB)(is.orb()) ;
53261909Sluigi    }
54261909Sluigi
55261909Sluigi    public GenericTaggedProfile( ORB orb, int id, byte[] data )
56261909Sluigi    {
57261909Sluigi        super( id, data ) ;
58261909Sluigi        this.orb = orb ;
59261909Sluigi    }
60261909Sluigi
61261909Sluigi    public TaggedProfileTemplate getTaggedProfileTemplate()
62261909Sluigi    {
63261909Sluigi        return null ;
64261909Sluigi    }
65261909Sluigi
66261909Sluigi    public ObjectId getObjectId()
67261909Sluigi    {
68341477Svmaffione        return null ;
69341477Svmaffione    }
70261909Sluigi
71341477Svmaffione    public ObjectKeyTemplate getObjectKeyTemplate()
72341477Svmaffione    {
73341477Svmaffione        return null ;
74261909Sluigi    }
75341477Svmaffione
76341477Svmaffione    public ObjectKey getObjectKey()
77261909Sluigi    {
78261909Sluigi        return null ;
79261909Sluigi    }
80341477Svmaffione
81261909Sluigi    public boolean isEquivalent( TaggedProfile prof )
82341477Svmaffione    {
83344047Svmaffione        return equals( prof ) ;
84261909Sluigi    }
85261909Sluigi
86261909Sluigi    public void makeImmutable()
87344047Svmaffione    {
88261909Sluigi        // NO-OP
89261909Sluigi    }
90261909Sluigi
91341477Svmaffione    public boolean isLocal()
92344047Svmaffione    {
93341477Svmaffione        return false ;
94261909Sluigi    }
95341477Svmaffione
96261909Sluigi    public org.omg.IOP.TaggedProfile getIOPProfile()
97261909Sluigi    {
98261909Sluigi        EncapsOutputStream os =
99341477Svmaffione            sun.corba.OutputStreamFactory.newEncapsOutputStream(orb);
100261909Sluigi        write( os ) ;
101261909Sluigi        InputStream is = (InputStream)(os.create_input_stream()) ;
102261909Sluigi        return org.omg.IOP.TaggedProfileHelper.read( is ) ;
103344047Svmaffione    }
104261909Sluigi}
105261909Sluigi