TransportDefault.java revision 608:7e06bf1dcb09
190075Sobrien/*
2169689Skan * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
3132718Skan * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
490075Sobrien *
590075Sobrien * This code is free software; you can redistribute it and/or modify it
690075Sobrien * under the terms of the GNU General Public License version 2 only, as
790075Sobrien * published by the Free Software Foundation.  Oracle designates this
890075Sobrien * particular file as subject to the "Classpath" exception as provided
990075Sobrien * by Oracle in the LICENSE file that accompanied this code.
1090075Sobrien *
1190075Sobrien * This code is distributed in the hope that it will be useful, but WITHOUT
1290075Sobrien * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1390075Sobrien * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1490075Sobrien * version 2 for more details (a copy is included in the LICENSE file that
1590075Sobrien * accompanied this code).
1690075Sobrien *
1790075Sobrien * You should have received a copy of the GNU General Public License version
1890075Sobrien * 2 along with this work; if not, write to the Free Software Foundation,
19169689Skan * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20169689Skan *
2190075Sobrien * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2290075Sobrien * or visit www.oracle.com if you need additional information or have any
2390075Sobrien * questions.
2490075Sobrien */
2590075Sobrien
2690075Sobrienpackage com.sun.corba.se.spi.transport ;
27132718Skan
2890075Sobrienimport com.sun.corba.se.spi.protocol.CorbaClientDelegate ;
2990075Sobrienimport com.sun.corba.se.spi.protocol.ClientDelegateFactory ;
30132718Skanimport com.sun.corba.se.spi.transport.CorbaContactInfoList ;
31117395Skanimport com.sun.corba.se.spi.transport.CorbaContactInfoListFactory ;
32132718Skanimport com.sun.corba.se.spi.transport.ReadTimeouts;
33161651Skanimport com.sun.corba.se.spi.transport.ReadTimeoutsFactory;
34132718Skanimport com.sun.corba.se.spi.orb.ORB ;
35117395Skanimport com.sun.corba.se.spi.ior.IOR ;
36117395Skan
37117395Skan// Internal imports, not used in the interface to this package
38132718Skanimport com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl ;
39132718Skanimport com.sun.corba.se.impl.transport.CorbaContactInfoListImpl;
40132718Skanimport com.sun.corba.se.impl.transport.ReadTCPTimeoutsImpl;
41132718Skan
42132718Skan/** This class provices standard building blocks for the ORB, as do all Default classes
43132718Skan * in the various packages.
44132718Skan */
45132718Skanpublic abstract class TransportDefault {
46132718Skan    private TransportDefault() {}
47132718Skan
48132718Skan    public static CorbaContactInfoListFactory makeCorbaContactInfoListFactory(
49132718Skan        final ORB broker )
50132718Skan    {
51117395Skan        return new CorbaContactInfoListFactory() {
52132718Skan            public void setORB(ORB orb) { }
53132718Skan            public CorbaContactInfoList create( IOR ior ) {
54132718Skan                return new CorbaContactInfoListImpl(
55132718Skan                    (com.sun.corba.se.spi.orb.ORB)broker, ior ) ;
56132718Skan            }
57132718Skan        };
58132718Skan    }
59117395Skan
60117395Skan    public static ClientDelegateFactory makeClientDelegateFactory(
61117395Skan        final ORB broker )
62117395Skan    {
6390075Sobrien        return new ClientDelegateFactory() {
64169689Skan            public CorbaClientDelegate create( CorbaContactInfoList info ) {
65169689Skan                return new CorbaClientDelegateImpl(
66169689Skan                    (com.sun.corba.se.spi.orb.ORB)broker, info ) ;
6790075Sobrien            }
6890075Sobrien        };
6990075Sobrien    }
70132718Skan
7190075Sobrien    public static IORTransformer makeIORTransformer(
72132718Skan        final ORB broker )
73132718Skan    {
74132718Skan        return null ;
75132718Skan    }
76132718Skan
77132718Skan    public static ReadTimeoutsFactory makeReadTimeoutsFactory()
78132718Skan    {
79132718Skan        return new ReadTimeoutsFactory() {
80132718Skan            public ReadTimeouts create(int initial_wait_time,
81132718Skan                                       int max_wait_time,
82132718Skan                                       int max_giop_hdr_wait_time,
8390075Sobrien                                       int backoff_percent_factor)
8490075Sobrien            {
8590075Sobrien                return new ReadTCPTimeoutsImpl(
8690075Sobrien                    initial_wait_time,
8790075Sobrien                    max_wait_time,
88132718Skan                    max_giop_hdr_wait_time,
8990075Sobrien                    backoff_percent_factor);
90117395Skan            };
9190075Sobrien        };
9290075Sobrien    }
93117395Skan}
94117395Skan
95117395Skan// End of file.
9690075Sobrien