001 /*
002 * Copyright 2002-2004 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005 * use this file except in compliance with the License. You may obtain a copy of
006 * the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013 * License for the specific language governing permissions and limitations under
014 * the License.
015 */
016 package org.springframework.richclient.command;
017
018 import java.util.List;
019
020 import javax.swing.Box;
021
022 import org.springframework.richclient.command.config.CommandButtonConfigurer;
023
024 /**
025 * A member of a {@link CommandGroup} that represents a 'glue' component between other members
026 * of the group.
027 *
028 * <p>
029 * A glue component is most often used as a filler between other components in a layout where those
030 * components cannot expand beyound a maximum height or width. As the layout area expands, the glue
031 * component will expand to take up the space.
032 * </p>
033 *
034 * @see Box#createGlue()
035 */
036 public class GlueGroupMember extends GroupMember {
037
038 /**
039 * Creates a new uninitialized {@code GlueGroupMember}.
040 */
041 public GlueGroupMember() {
042 //do nothing
043 }
044
045 /**
046 * Adds a glue component using the given container populator.
047 *
048 * {@inheritDoc}
049 */
050 protected void fill(GroupContainerPopulator parentContainer,
051 Object factory,
052 CommandButtonConfigurer configurer,
053 List previousButtons) {
054 parentContainer.add(Box.createGlue());
055 }
056
057 /**
058 * Always returns false. A glue group member does not manage any commands.
059 * @return false always.
060 */
061 public final boolean managesCommand(String commandId) {
062 return false;
063 }
064
065 /**
066 * Default implemenation, performs no operation.
067 */
068 public void setEnabled(boolean enabled) {
069 // do nothing
070 }
071
072 }