1 /* 2 * Copyright 2003, 2004 The Apache Software Foundation 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 */ 17 package org.apache.ws.jaxme.js; 18 19 20 /** <p>Interface of a placeholder. A placeholder is used by one 21 * method to note, that another method should insert code "here". 22 * A placeholder is created by invoking 23 * {@link org.apache.ws.jaxme.js.IndentationEngine#newPlaceHolder(String, boolean)}.</p> 24 * 25 * @author <a HREF="mailto:joe@ispsoft.de">Jochen Wiedmann</a> 26 */ 27 public interface PlaceHolder { 28 /** <p>Returns the placeholders name.</p> 29 */ 30 public String getName(); 31 32 /** <p>Returns whether the placeholder is automatically removable.</p> 33 */ 34 public boolean isAutoRemovable(); 35 36 /** <p>Removes the placeholder. If a placeholder isn't automatically 37 * removable, then it must be removed by an explicit invocation of 38 * this method.</p> 39 */ 40 public void remove(); 41 42 /** <p>Sets a property.</p> 43 */ 44 public void setProperty(String pName, Object pValue); 45 46 /** <p>Returns a property value. There is no distinction between the 47 * property value null and the case where the property isn't set.</p> 48 */ 49 public Object getProperty(String pName); 50 51 /** <p>Returns the placeholders indentation level.</p> 52 */ 53 public int getLevel(); 54 } 55