📄 standardserver.java
字号:
// Store nested <Realm> element
Realm realm = engine.getRealm();
if (realm != null) {
Realm parentRealm = null;
if (engine.getParent() != null) {
parentRealm = engine.getParent().getRealm();
}
if (realm != parentRealm) {
storeRealm(writer, indent + 2, realm);
}
}
// Store nested <Valve> elements
if (engine instanceof Pipeline) {
Valve valves[] = ((Pipeline) engine).getValves();
for (int i = 0; i < valves.length; i++) {
storeValve(writer, indent + 2, valves[i]);
}
}
// Store the ending of this element
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.println("</Engine>");
}
/**
* Store the specified ServerSocketFactory properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param factory Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeFactory(PrintWriter writer, int indent,
ServerSocketFactory factory) throws Exception {
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.print("<Factory");
storeAttributes(writer, factory);
writer.println("/>");
}
/**
* Store the specified Host properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param host Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeHost(PrintWriter writer, int indent,
Host host) throws Exception {
// Store the beginning of this element
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.print("<Host");
storeAttributes(writer, host);
writer.println(">");
// Store nested <Alias> elements
String aliases[] = host.findAliases();
for (int i = 0; i < aliases.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.print("<Alias>");
writer.print(aliases[i]);
writer.println("</Alias>");
}
// Store nested <Cluster> elements
; // FIXME - But it's not supported by any standard Host implementation
// Store nested <Context> elements (or other relevant containers)
Container children[] = host.findChildren();
for (int i = 0; i < children.length; i++) {
if (children[i] instanceof Context) {
storeContext(writer, indent + 2, (Context) children[i]);
} else if (children[i] instanceof Engine) {
storeEngine(writer, indent + 2, (Engine) children[i]);
} else if (children[i] instanceof Host) {
storeHost(writer, indent + 2, (Host) children[i]);
}
}
// Store nested <DefaultContext> element
if (host instanceof StandardHost) {
DefaultContext dcontext =
((StandardHost) host).getDefaultContext();
if (dcontext != null) {
Container parent = host.getParent();
if ((parent != null) &&
(parent instanceof StandardEngine)) {
DefaultContext pcontext =
((StandardEngine) parent).getDefaultContext();
if (dcontext != pcontext) {
storeDefaultContext(writer, indent + 2, dcontext);
}
}
}
}
// Store nested <Listener> elements
if (host instanceof Lifecycle) {
LifecycleListener listeners[] =
((Lifecycle) host).findLifecycleListeners();
for (int i = 0; i < listeners.length; i++) {
if (listeners[i].getClass().getName().equals
(SERVER_LISTENER_CLASS_NAME)) {
continue;
}
storeListener(writer, indent + 2, listeners[i]);
}
}
// Store nested <Logger> element
Logger logger = host.getLogger();
if (logger != null) {
Logger parentLogger = null;
if (host.getParent() != null) {
parentLogger = host.getParent().getLogger();
}
if (logger != parentLogger) {
storeLogger(writer, indent + 2, logger);
}
}
// Store nested <Realm> element
Realm realm = host.getRealm();
if (realm != null) {
Realm parentRealm = null;
if (host.getParent() != null) {
parentRealm = host.getParent().getRealm();
}
if (realm != parentRealm) {
storeRealm(writer, indent + 2, realm);
}
}
// Store nested <Valve> elements
if (host instanceof Pipeline) {
Valve valves[] = ((Pipeline) host).getValves();
for (int i = 0; i < valves.length; i++) {
storeValve(writer, indent + 2, valves[i]);
}
}
// Store the ending of this element
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.println("</Host>");
}
/**
* Store the specified Listener properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param listener Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeListener(PrintWriter writer, int indent,
LifecycleListener listener) throws Exception {
if (isSkippable(listener.getClass().getName())) {
return;
}
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.print("<Listener");
storeAttributes(writer, listener);
writer.println("/>");
}
/**
* Store the specified Loader properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param loader Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeLoader(PrintWriter writer, int indent,
Loader loader) throws Exception {
if (isDefaultLoader(loader)) {
return;
}
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.print("<Loader");
storeAttributes(writer, loader);
writer.println("/>");
}
/**
* Store the specified Logger properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param logger Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeLogger(PrintWriter writer, int indent,
Logger logger) throws Exception {
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.print("<Logger");
storeAttributes(writer, logger);
writer.println("/>");
}
/**
* Store the specified Manager properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param manager Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeManager(PrintWriter writer, int indent,
Manager manager) throws Exception {
if (isDefaultManager(manager)) {
return;
}
// Store the beginning of this element
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.print("<Manager");
storeAttributes(writer, manager);
writer.println(">");
// Store nested <Store> element
if (manager instanceof PersistentManager) {
Store store = ((PersistentManager) manager).getStore();
if (store != null) {
storeStore(writer, indent + 2, store);
}
}
// Store the ending of this element
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
writer.println("</Manager>");
}
/**
* Store the specified NamingResources properties.
*
* @param writer PrintWriter to which we are storing
* @param indent Number of spaces to indent this element
* @param resources Object whose properties are being stored
*
* @exception Exception if an exception occurs while storing
*/
private void storeNamingResources(PrintWriter writer, int indent,
NamingResources resources)
throws Exception {
// Store nested <Ejb> elements
ContextEjb[] ejbs = resources.findEjbs();
if (ejbs.length > 0) {
for (int i = 0; i < ejbs.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.print("<Ejb");
storeAttributes(writer, false, ejbs[i]);
writer.println("/>");
}
}
// Store nested <Environment> elements
ContextEnvironment[] envs = resources.findEnvironments();
if (envs.length > 0) {
for (int i = 0; i < envs.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.print("<Environment");
storeAttributes(writer, false, envs[i]);
writer.println("/>");
}
}
// Store nested <LocalEjb> elements
ContextLocalEjb[] lejbs = resources.findLocalEjbs();
if (lejbs.length > 0) {
for (int i = 0; i < lejbs.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.print("<LocalEjb");
storeAttributes(writer, false, lejbs[i]);
writer.println("/>");
}
}
// Store nested <Resource> elements
ContextResource[] dresources = resources.findResources();
for (int i = 0; i < dresources.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.print("<Resource");
storeAttributes(writer, false, dresources[i]);
writer.println("/>");
}
// Store nested <ResourceEnvRef> elements
String[] eresources = resources.findResourceEnvRefs();
for (int i = 0; i < eresources.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.println("<ResourceEnvRef>");
for (int j = 0; j < indent + 2; j++) {
writer.print(' ');
}
writer.print("<name>");
writer.print(eresources[i]);
writer.println("</name>");
for (int j = 0; j < indent + 2; j++) {
writer.print(' ');
}
writer.print("<type>");
writer.print(resources.findResourceEnvRef(eresources[i]));
writer.println("</type>");
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.println("</ResourceEnvRef>");
}
// Store nested <ResourceParams> elements
ResourceParams[] params = resources.findResourceParams();
for (int i = 0; i < params.length; i++) {
for (int j = 0; j < indent; j++) {
writer.print(' ');
}
writer.print("<ResourceParams");
storeAttributes(writer, false, params[i]);
writer.println(">");
Hashtable resourceParams = params[i].getParameters();
Enumeration nameEnum = resourceParams.keys();
while (nameEnum.hasMoreElements()) {
String name = (String) nameEnum.nextElement();
String value = (String) resourceParams.get(name);
for (int j = 0; j < indent + 2; j++) {
writer.print(' ');
}
writer.println("<parameter>");
for (int j = 0; j < indent + 4; j++) {
writer.print(' ');
}
writer.print("<name>");
writer.print(name);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -