1a5b190bfSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3a5b190bfSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4a5b190bfSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5a5b190bfSAndrew Rist  * distributed with this work for additional information
6a5b190bfSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7a5b190bfSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8a5b190bfSAndrew Rist  * "License"); you may not use this file except in compliance
9a5b190bfSAndrew Rist  * with the License.  You may obtain a copy of the License at
10a5b190bfSAndrew Rist  *
11a5b190bfSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12a5b190bfSAndrew Rist  *
13a5b190bfSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14a5b190bfSAndrew Rist  * software distributed under the License is distributed on an
15a5b190bfSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16a5b190bfSAndrew Rist  * KIND, either express or implied.  See the License for the
17a5b190bfSAndrew Rist  * specific language governing permissions and limitations
18a5b190bfSAndrew Rist  * under the License.
19a5b190bfSAndrew Rist  *
20a5b190bfSAndrew Rist  *************************************************************/
21a5b190bfSAndrew Rist 
22a5b190bfSAndrew Rist 
23cdf0e10cSrcweir package com.sun.star.comp.helper;
24cdf0e10cSrcweir 
25cdf0e10cSrcweir /** Component context entry for constructing ComponentContext objects.
26cdf0e10cSrcweir     <p>
27cdf0e10cSrcweir     A ComponentContextEntry is separated into a late-init and direct-value
28cdf0e10cSrcweir     purpose.
29cdf0e10cSrcweir     The first one is commonly used for singleton objects of the component
30cdf0e10cSrcweir     context, that are raised on first-time retrieval of the key.
31cdf0e10cSrcweir     You have to pass a com.sun.star.lang.XSingleComponentFactory
32*c86fe57eSDamjan Jovanovic     or string (=&gt; service name) object for this.
33cdf0e10cSrcweir     </p>
34cdf0e10cSrcweir */
35cdf0e10cSrcweir public class ComponentContextEntry
36cdf0e10cSrcweir {
37cdf0e10cSrcweir     /** if late init of service instance, set service name (String) or
38cdf0e10cSrcweir         component factory (XSingleComponentFactory), null otherwise
39cdf0e10cSrcweir     */
40cdf0e10cSrcweir     public Object m_lateInit;
41cdf0e10cSrcweir     /** set entry value
42cdf0e10cSrcweir     */
43cdf0e10cSrcweir     public Object m_value;
44cdf0e10cSrcweir 
45cdf0e10cSrcweir     /** Creating a late-init singleton entry component context entry.
46cdf0e10cSrcweir         The second parameter will be ignored and overwritten during
47a893be29SPedro Giffuni         instantiation of the singleton instance.
48cdf0e10cSrcweir 
49cdf0e10cSrcweir         @param lateInit
50cdf0e10cSrcweir                object factory or service string
51cdf0e10cSrcweir         @param value
52cdf0e10cSrcweir                pass null (dummy separating from second ctor signature)
53cdf0e10cSrcweir     */
ComponentContextEntry( Object lateInit, Object value )54cdf0e10cSrcweir     public ComponentContextEntry( Object lateInit, Object value )
55cdf0e10cSrcweir     {
56cdf0e10cSrcweir         this.m_lateInit = lateInit;
57cdf0e10cSrcweir         this.m_value = value;
58cdf0e10cSrcweir     }
59cdf0e10cSrcweir     /** Creating a direct value component context entry.
60cdf0e10cSrcweir 
61cdf0e10cSrcweir         @param value
62cdf0e10cSrcweir                pass null
63cdf0e10cSrcweir     */
ComponentContextEntry( Object value )64cdf0e10cSrcweir     public ComponentContextEntry( Object value )
65cdf0e10cSrcweir     {
66cdf0e10cSrcweir         this.m_lateInit = null;
67cdf0e10cSrcweir         this.m_value = value;
68cdf0e10cSrcweir     }
69cdf0e10cSrcweir }
70