| /* |
| * Created on May 30, 2011 |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on |
| * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations under the License. |
| * |
| * Copyright @2011 the original author or authors. |
| */ |
| package com.google.eclipse.protobuf.scoping; |
| |
| import org.eclipse.xtext.parser.IParser; |
| |
| import com.google.inject.*; |
| |
| /** |
| * Provider of a singleton instance of <code>{@link Descriptor}</code>. |
| * |
| * @author Alex Ruiz |
| */ |
| @Singleton |
| public class DescriptorProvider implements Provider<Descriptor> { |
| |
| @Inject private IParser parser; |
| |
| private Descriptor descriptor; |
| |
| public synchronized Descriptor get() { |
| if (descriptor == null) descriptor = new Descriptor(parser); |
| return descriptor; |
| } |
| } |