| /******************************************************************************* |
| * Copyright (c) 2011 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.equinox.metatype.impl; |
| |
| import org.eclipse.osgi.util.NLS; |
| |
| public class Designate { |
| public static class Builder { |
| String bundle; |
| String factoryPid; |
| boolean merge; |
| ObjectClassDefinitionImpl ocd; |
| boolean optional; |
| String pid; |
| |
| public Builder(ObjectClassDefinitionImpl ocd) { |
| if (ocd == null) { |
| throw new IllegalArgumentException(NLS.bind(MetaTypeMsg.MISSING_REQUIRED_PARAMETER, "ocd")); //$NON-NLS-1$ |
| } |
| this.ocd = ocd; |
| } |
| |
| public Designate build() { |
| return new Designate(this); |
| } |
| |
| public Builder bundle(String value) { |
| bundle = value; |
| return this; |
| } |
| |
| public Builder factoryPid(String value) { |
| factoryPid = value; |
| return this; |
| } |
| |
| public Builder merge(boolean value) { |
| merge = value; |
| return this; |
| } |
| |
| public Builder optional(boolean value) { |
| optional = value; |
| return this; |
| } |
| |
| public Builder pid(String value) { |
| pid = value; |
| return this; |
| } |
| } |
| |
| private final String bundle; |
| private final String factoryPid; |
| private final boolean merge; |
| private final ObjectClassDefinitionImpl ocd; |
| private final boolean optional; |
| private final String pid; |
| |
| Designate(Builder b) { |
| bundle = b.bundle; |
| factoryPid = b.factoryPid; |
| merge = b.merge; |
| ocd = b.ocd; |
| optional = b.optional; |
| pid = b.pid; |
| } |
| |
| public String getBundle() { |
| return bundle; |
| } |
| |
| public String getFactoryPid() { |
| return factoryPid; |
| } |
| |
| public boolean isFactory() { |
| return factoryPid != null && factoryPid.length() != 0; |
| } |
| |
| public boolean isMerge() { |
| return merge; |
| } |
| |
| public ObjectClassDefinitionImpl getObjectClassDefinition() { |
| return ocd; |
| } |
| |
| public boolean isOptional() { |
| return optional; |
| } |
| |
| public String getPid() { |
| return pid; |
| } |
| } |