1 /**
2 * Copyright 2011 meltmedia
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.xchain;
17
18 /**
19 * @author Christian Trimble
20 */
21 public interface EngineeredCatalog
22 extends Catalog
23 {
24 /**
25 * The class loader used to load command classes inside this catalog. Defaults to the
26 * lifecycle class loader, unless the command is some form of inline command.
27 */
28 public ClassLoader getClassLoader();
29
30 /**
31 * Sets the class loader for this catalog. The class loader set should be a child of the lifecycle class loader
32 * and defer loading of all classes to that class loader, unless the class is a command that is defined inline.
33 */
34 public void setClassLoader(ClassLoader classLoader);
35
36 public String getSystemId();
37
38 public void setSystemId( String systemId );
39 }