...
The Configure element can contain the New, Set, _Put, Call or Ref elements.
More Examples
| Code Block |
|---|
<Configure id="Server" class="org.mortbay.jetty.Server">
// ..
// configure this object
// tags like Set, Get, and Call are addressed to this object
</Configure>
/** The id is persisted in a hashmap so that more than one jetty.xml can configure the same object.
e.g java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml etc/jetty-plus.xml */
<Configure id="Server" class="org.mortbay.jetty.Server">
<Set name="port">8080</Set>
</Configure>
// equivalent to:
// org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
// server.setPort(8080);
|
<Set> Element
Sets an object property. One argument
Used in conjunction with #Configure, #New, #Ref, #Call.
This element maps to a call to a set method on the current object. The name and optional type attributes are used to select the set method. If the name given is xxx, then a setXxx method is used, or the xxx field is used of setXxx cannot be found.
...
| Code Block |
|---|
|
<Set name="xyz">
. . .
</Set>
|
More Examples
| Code Block |
|---|
<Configure id="Server" class="org.mortbay.jetty.Server">
<Set name="port">8080</Set>
</Configure>
// equivalent to:
// org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
// server.setPort(8080);
<New class="com.acme.Employee">
<Set name="department">IT</Set>
</New>
// equivalent to:
// com.acme.Employee employee = new com.acme.Employee();
// employee.setDepartment("IT");
|
<Get> Element
Returns the object's property.
This element maps to a call to a get method of field on the current object. The name attribute is used to select the get method. If the name given is xxx, then a getXxx method is used, or the xxx field is used of setXxx cannot be found.
...
A Get with a class attribute is treated as a static get method or field.
More Examples
| Code Block |
|---|
<Configure id="Server" class="org.mortbay.jetty.Server">
<Get id="p" name="port"/>
<Call class="com.acme.Environment" name="setPort">
<Arg>
<Ref id="p"/>
</Arg>
</Call>
</Configure>
// equivalent to:
// org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
// com.acme.Environment.setPort(server.getPort());
<Configure id="Server" class="org.mortbay.jetty.Server">
<Call id="s" name="toString"/>
<Call class="org.mortbay.log.Log" name="info">
<Arg>
<Ref id="s"/>
</Arg>
</Call>
</Configure>
// equivalent to:
// Server server = new Server();
// String str = server.toString();
// org.mortbay.log.Log.info(str);
<New class="java.io.File">
<Arg>.</Arg>
<Get id="path" name="getAbsolutePath"/>
</New>
<Call class="org.mortbay.log.Log" name="info">
<Arg>
<Ref id="path"/>
</Arg>
</Call>
// equivalent to:
// java.io.File file = new java.io.File();
// String path = file.getAbsolutePath();
// org.mortbay.log.Log.info(path);
|
<Put> Element
This element maps to a call to a put method on the current object, which must implement the Map interface. The name attribute is used as the put key and the optional type attribute can force the type of the value.
...
| Code Block |
|---|
|
<Put name="admin">admin</Put>
|
<Call> Element
Calls an object method.
The method could be an instance method or a static method.
This element maps to an arbitrary call to a method on the current object. The name attribute and Arg elements are used to select the method.
...
| Panel |
|---|
| Code Block |
|---|
|
<Call class="com.acme.Foo" name="setString">
<Arg>somestring</Arg>
</Call>
|
Is equivalent to: | Code Block |
|---|
|
com.acme.Foo.setString("somestring");
|
|
More Examples
| Code Block |
|---|
<Call class="com.acme.SomeObject" name="init"/>
// equivalent to:
// com.acme.SomeObject.init()
// calls a static method
<Configure id="Server" class="org.mortbay.jetty.Server">
<Call name="getPort">
<Call class="com.acme.Environment" name="setPort">
<Arg>
<Ref id="p"/>
</Arg>
</Call>
</Configure>
// equivalent to:
// org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
// com.acme.Environment.setPort(server.getPort());
|
<Arg> Element
An argument of a method or a constructor.
Used in conjunction with #New and #Call.
This element defines a positional argument for the Call element. The optional type attribute can force the type of the value.
...
The Ref tag here points to a previously created object with an id parameter.
More Examples
| Code Block |
|---|
<Arg>foo</Arg> // String
<Arg>true</Arg> // Boolean
<Arg>1</Arg> // int, long, short, float, double
<Arg><Ref id="foo"></Arg> // any object
// reference a persisted object and pass it as a paramter
<Call class="com.acme.Environment" name="setFoo">
<Arg>
<New class="com.acme.Foo">
<Arg>bar</Arg>
</New>
</Arg>
</Call>
// equivalent to: com.acme.Environment.setFoo(new com.acme.Foo("bar"));
<New class="com.acme.Baz">
<Arg>
<Call id="bar" class="com.acme.MyStaticObjectFactory" name="createObject">
<Arg>2</Arg>
</Call>
</Arg>
</New>
// equivalent to: new com.acme.Baz(com.acme.MyStaticObjectFactory.createObject(2));
|
<New> Element
Equivalent to the "new" in java.
Instantiates an object.
This element allows the creation of a new object as part of a value of a Set, Put or Arg element. The class attribute determines the type of the new object and the contained Arg elements are used to select the constructor for the new object. A New element may have an id parameter which gives a unique name to the object which can be referenced later by Ref elements.
...
| Panel |
|---|
| Code Block |
|---|
|
<New id="myobject" class="com.acme.MyClass">
<Arg>value1</Arg><Set name="Test">Value2</Set>
</New>
|
This is equivalent to: | Code Block |
|---|
Object o = new com.acme.MyClass("value1");
o.setTest("value2");
|
|
More Examples
| Code Block |
|---|
<New class="com.acme.Foo"/>
// equivalient to:
// com.acme.Foo foo = new com.acme.Foo()
// instantiates the object with the default constructor
<New class="com.acme.Foo">
<Arg>bar</Arg>
</New>
// equivalient to:
// com.acme.Foo foo = new com.acme.Foo("bar")
// instantiates the object with a one-string-argument constructor.
|
<Ref> Element
This element allows a previously created object to be referenced by unique name.
...
<Array> Element
An object array.
This element allows the creation of a new array as part of a value of a Set, Put or Arg element. The type attribute determines the type of the new array and the contained Item elements are used for each element of the array.
| Panel |
|---|
| Code Block |
|---|
|
<Array type="java.lang.String">
<Item>value0</Item>
<Item><New class="java.lang.String"><Arg>value1</Arg></New></Item>
</Array>
|
This is equivalent to | Code Block |
|---|
|
String[] a = new String[]{"value0", new String("value1")};
|
|
More Examples
| Code Block |
|---|
<Array type="org.mortbay.jetty.Handler">
<Item>
<New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>
</Item>
<Item>
<New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>
</Item>
<Item>
<New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
</Item>
</Array>
<Array id="plusConfig" type="java.lang.String">
<Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
<Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
<Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>
|
<Map> Element
This element allows the creation of a new HashMap and to populate it with (key,value) pairs.
| Panel |
|---|
| Code Block |
|---|
|
<Map>
<Entry>
<Item>keyName</Item>
<Item><New class="java.lang.String"><Arg>value1</Arg></New></Item>
</Entry>
</Map>
|
This is equivalent to | Code Block |
|---|
|
java.util.Map map = new java.util.HashMap();
map.put("keyName", "value1"};
|
|
<Item> Element
An element of an array.
Used only in conjuction with #Array
This element defines an entry for the Array or Map Entry elements. The optional type attribute can force the type of the value.
...
<SystemProperty> Element
Gets the value of a system property.
This element allows JVM System properties to be retrieved as part of the value of a Set, Put or Arg element. The name attribute specifies the property name and the optional default argument provides a default value.
| Panel |
|---|
| Code Block |
|---|
|
<SystemProperty name="Test" default="value"/>
|
This is equivalent to: | Code Block |
|---|
|
System.getProperty("Test","value");
|
|
More Examples
| Code Block |
|---|
<SystemProperty name="jetty.port" default="8080"/>
// equivalent to: System.getProperty("jetty.port", "8080");
// means that if "jetty.port" is not set, "8080" will be used.
|