001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019
020 package org.apache.xbean.osgi.bundle.util;
021
022 import java.io.File;
023 import java.io.InputStream;
024 import java.util.Dictionary;
025
026 import org.osgi.framework.Bundle;
027 import org.osgi.framework.BundleContext;
028 import org.osgi.framework.BundleException;
029 import org.osgi.framework.BundleListener;
030 import org.osgi.framework.Filter;
031 import org.osgi.framework.FrameworkListener;
032 import org.osgi.framework.InvalidSyntaxException;
033 import org.osgi.framework.ServiceListener;
034 import org.osgi.framework.ServiceReference;
035 import org.osgi.framework.ServiceRegistration;
036
037 /**
038 * BundleContext for DelegatingBundle.
039 *
040 * @version $Rev: 937957 $ $Date: 2010-04-26 16:00:08 +0800 (Mon, 26 Apr 2010) $
041 */
042 public class DelegatingBundleContext implements BundleContext {
043
044 private DelegatingBundle bundle;
045 private BundleContext bundleContext;
046
047 public DelegatingBundleContext(DelegatingBundle bundle, BundleContext bundleContext) {
048 this.bundle = bundle;
049 this.bundleContext = bundleContext;
050 }
051
052 public Bundle getBundle() {
053 return bundle;
054 }
055
056 public void addBundleListener(BundleListener arg0) {
057 bundleContext.addBundleListener(arg0);
058 }
059
060 public void addFrameworkListener(FrameworkListener arg0) {
061 bundleContext.addFrameworkListener(arg0);
062 }
063
064 public void addServiceListener(ServiceListener arg0, String arg1) throws InvalidSyntaxException {
065 bundleContext.addServiceListener(arg0, arg1);
066 }
067
068 public void addServiceListener(ServiceListener arg0) {
069 bundleContext.addServiceListener(arg0);
070 }
071
072 public Filter createFilter(String arg0) throws InvalidSyntaxException {
073 return bundleContext.createFilter(arg0);
074 }
075
076 public ServiceReference[] getAllServiceReferences(String arg0, String arg1)
077 throws InvalidSyntaxException {
078 return bundleContext.getAllServiceReferences(arg0, arg1);
079 }
080
081 public Bundle getBundle(long arg0) {
082 return bundleContext.getBundle(arg0);
083 }
084
085 public Bundle[] getBundles() {
086 return bundleContext.getBundles();
087 }
088
089 public File getDataFile(String arg0) {
090 return bundleContext.getDataFile(arg0);
091 }
092
093 public String getProperty(String arg0) {
094 return bundleContext.getProperty(arg0);
095 }
096
097 public Object getService(ServiceReference arg0) {
098 return bundleContext.getService(arg0);
099 }
100
101 public ServiceReference getServiceReference(String arg0) {
102 return bundleContext.getServiceReference(arg0);
103 }
104
105 public ServiceReference[] getServiceReferences(String arg0, String arg1)
106 throws InvalidSyntaxException {
107 return bundleContext.getServiceReferences(arg0, arg1);
108 }
109
110 public Bundle installBundle(String arg0, InputStream arg1) throws BundleException {
111 return bundleContext.installBundle(arg0, arg1);
112 }
113
114 public Bundle installBundle(String arg0) throws BundleException {
115 return bundleContext.installBundle(arg0);
116 }
117
118 public ServiceRegistration registerService(String arg0, Object arg1, Dictionary arg2) {
119 return bundleContext.registerService(arg0, arg1, arg2);
120 }
121
122 public ServiceRegistration registerService(String[] arg0, Object arg1, Dictionary arg2) {
123 return bundleContext.registerService(arg0, arg1, arg2);
124 }
125
126 public void removeBundleListener(BundleListener arg0) {
127 bundleContext.removeBundleListener(arg0);
128 }
129
130 public void removeFrameworkListener(FrameworkListener arg0) {
131 bundleContext.removeFrameworkListener(arg0);
132 }
133
134 public void removeServiceListener(ServiceListener arg0) {
135 bundleContext.removeServiceListener(arg0);
136 }
137
138 public boolean ungetService(ServiceReference arg0) {
139 return bundleContext.ungetService(arg0);
140 }
141
142 }