01: package org.apache.maven.context;
02:
03: /*
04: * Licensed to the Apache Software Foundation (ASF) under one
05: * or more contributor license agreements. See the NOTICE file
06: * distributed with this work for additional information
07: * regarding copyright ownership. The ASF licenses this file
08: * to you under the Apache License, Version 2.0 (the
09: * "License"); you may not use this file except in compliance
10: * with the License. You may obtain a copy of the License at
11: *
12: * http://www.apache.org/licenses/LICENSE-2.0
13: *
14: * Unless required by applicable law or agreed to in writing,
15: * software distributed under the License is distributed on an
16: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17: * KIND, either express or implied. See the License for the
18: * specific language governing permissions and limitations
19: * under the License.
20: */
21:
22: import org.codehaus.plexus.context.Context;
23:
24: /**
25: * Manager interface used to store, read, and clear the BuildContext out of the container.
26: *
27: * @author jdcasey
28: */
29: public interface BuildContextManager {
30:
31: String ROLE = BuildContextManager.class.getName();
32:
33: /**
34: * Read the BuildContext from the container. If it doesn't already exist, optionally create it.
35: */
36: BuildContext readBuildContext(boolean create);
37:
38: /**
39: * Store the BuildContext in the container context.
40: */
41: void storeBuildContext(BuildContext context);
42:
43: /**
44: * Clear the contents of the BuildContext, both in the current instance, and in the container
45: * context.
46: */
47: void clearBuildContext();
48:
49: /**
50: * Re-orient this BuildContextManager to use the given Plexus Context instance, returning
51: * the original Context instance so it can be restored later. This can be important when the
52: * BuildContextManager is instantiated inside a Maven plugin, but the plugin needs to use the
53: * context associated with the core of Maven (in case multiple contexts are used).
54: */
55: Context reorientToContext(Context context);
56:
57: }
|