blob: 6b0078c5af3d7f84490cf6854613fc6d86febe9e [file] [log] [blame]
/* $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.digester3;
import java.util.LinkedList;
import java.util.List;
/**
* Simple class for use in unit tests. A box has an ID, and can have multiple boxes within it.
*/
public class Box
{
private String id;
private final List<Box> children = new LinkedList<Box>();
public Box()
{
}
public String getId()
{
return id;
}
public void setId( String id )
{
this.id = id;
}
public void addChild( Box child )
{
this.children.add( child );
}
public List<Box> getChildren()
{
return children;
}
@Override
public String toString()
{
StringBuilder buf = new StringBuilder();
buf.append( "[Box] id=" );
buf.append( id );
buf.append( " nchildren=" );
buf.append( children.size() );
for ( Box child : children )
{
buf.append( " " );
buf.append( child.toString() );
}
return buf.toString();
}
/**
* Return a string containing this object's name value, followed by the names of all child objects (and their
* children etc) in pre-order sequence. Each name is separated by a space from the preceding one.
*/
public String getIds()
{
StringBuilder buf = new StringBuilder();
buf.append( this.id );
for ( Box child : children )
{
buf.append( " " );
buf.append( child.getIds() );
}
return buf.toString();
}
}