Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/apache/hivemind/schema/rules/SetParentRule.java


1   // Copyright 2004, 2005 The Apache Software Foundation
2   //
3   // Licensed under the Apache License, Version 2.0 (the "License");
4   // you may not use this file except in compliance with the License.
5   // You may obtain a copy of the License at
6   //
7   //     http://www.apache.org/licenses/LICENSE-2.0
8   //
9   // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  
15  package org.apache.hivemind.schema.rules;
16  
17  import org.apache.hivemind.Element;
18  import org.apache.hivemind.schema.SchemaProcessor;
19  
20  /**
21   * Used to set a property of the child object to its parent object. The child object is the top
22   * object on the {@link org.apache.hivemind.schema.SchemaProcessor} stack, the parent object is the
23   * next object in. Created from the <code>&lt;set-parent&gt;</code> element.
24   * 
25   * @author Howard Lewis Ship
26   */
27  public class SetParentRule extends BaseRule
28  {
29      private String _propertyName;
30  
31      /**
32       * @since 1.1
33       */
34      public String getPropertyName()
35      {
36          return _propertyName;
37      }
38  
39      public void setPropertyName(String string)
40      {
41          _propertyName = string;
42      }
43  
44      public void begin(SchemaProcessor processor, Element element)
45      {
46          Object child = processor.peek();
47          Object parent = processor.peek(1);
48  
49          RuleUtils.setProperty(processor, element, _propertyName, child, parent);
50      }
51  
52  }