/** * */ package org.javabuilders.gtk.handler.type; import static org.javabuilders.gtk.GtkConstants.*; import java.util.Map; import org.gnome.gtk.HBox; import org.javabuilders.BuildException; import org.javabuilders.BuildProcess; import org.javabuilders.BuilderConfig; import org.javabuilders.Node; import org.javabuilders.gtk.GtkConstants; import org.javabuilders.handler.AbstractTypeHandler; /** * HBox type handler * @author Jacek Furmankiewicz */ public class HBoxTypeHandler extends AbstractTypeHandler { /** * Constructor */ public HBoxTypeHandler() { super(HOMOGENOUS, SPACING); } /* (non-Javadoc) * @see org.javabuilders.handler.ITypeHandler#createNewInstance(org.javabuilders.BuilderConfig, org.javabuilders.BuildProcess, org.javabuilders.Node, java.lang.String, java.util.Map) */ public Node createNewInstance(BuilderConfig config, BuildProcess process, Node parent, String key, Map<String, Object> typeDefinition) throws BuildException { Boolean homogenous = (Boolean) typeDefinition.get(GtkConstants.HOMOGENOUS); if (homogenous == null) { homogenous = Boolean.FALSE; } Integer spacing = (Integer) typeDefinition.get(GtkConstants.SPACING); if (spacing == null) { spacing = 4; } HBox instance = new HBox(homogenous,spacing); return useExistingInstance(config, process, parent, key, typeDefinition, instance); } /* (non-Javadoc) * @see org.javabuilders.handler.ITypeHandler#useExistingInstance(org.javabuilders.BuilderConfig, org.javabuilders.BuildProcess, org.javabuilders.Node, java.lang.String, java.util.Map, java.lang.Object) */ public Node useExistingInstance(BuilderConfig config, BuildProcess process, Node parent, String key, Map<String, Object> typeDefinition, Object instance) throws BuildException { Node node = new Node(parent, key, typeDefinition); node.setMainObject(instance); return node; } /* (non-Javadoc) * @see org.javabuilders.IApplicable#getApplicableClass() */ public Class<HBox> getApplicableClass() { return HBox.class; } /* (non-Javadoc) * @see org.javabuilders.handler.ITypeHandler#isApplicableToSubclasses() */ public boolean isApplicableToSubclasses() { return false; } }