public DeploymentDescriptorBuilder getBuilder()

in kie-internal/src/main/java/org/kie/internal/runtime/manager/deploy/DeploymentDescriptorImpl.java [447:684]


    public DeploymentDescriptorBuilder getBuilder() {

        return new DeploymentDescriptorBuilder() {

            private BuilderHandler handler = new BuilderHandler() {

                @Override
                public boolean accepted(Object value) {
                    return true;
                }
            };

            private DeploymentDescriptorImpl descriptor = DeploymentDescriptorImpl.this;

            @Override
            public DeploymentDescriptorBuilder runtimeStrategy(RuntimeStrategy strategy) {
                if (handler.accepted(strategy)) {
                    descriptor.setRuntimeStrategy(strategy);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder persistenceUnit(String pu) {
                if (handler.accepted(pu)) {
                    descriptor.setPersistenceUnit(pu);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder persistenceMode(PersistenceMode mode) {
                if (handler.accepted(mode)) {
                    descriptor.setPersistenceMode(mode);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder auditPersistenceUnit(String pu) {
                if (handler.accepted(pu)) {
                    descriptor.setAuditPersistenceUnit(pu);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder auditMode(AuditMode mode) {
                if (handler.accepted(mode)) {
                    descriptor.setAuditMode(mode);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addWorkItemHandler(NamedObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.workItemHandlers.add(model)) {
                        descriptor.workItemHandlers.remove(model);
                        descriptor.workItemHandlers.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addTaskEventListener(ObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.taskEventListeners.contains(model)) {
                        descriptor.taskEventListeners.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addMarshalingStrategy(ObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.marshallingStrategies.add(model)) {
                        descriptor.marshallingStrategies.remove(model);
                        descriptor.marshallingStrategies.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addGlobal(NamedObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.globals.add(model)) {
                        descriptor.globals.remove(model);
                        descriptor.globals.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addEventListener(ObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.eventListeners.add(model)) {
                        descriptor.eventListeners.remove(model);
                        descriptor.eventListeners.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addEnvironmentEntry(NamedObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.environmentEntries.add(model)) {
                        descriptor.environmentEntries.remove(model);
                        descriptor.environmentEntries.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addConfiguration(NamedObjectModel model) {
                if (handler.accepted(model)) {
                    if (!descriptor.configuration.add(model)) {
                        descriptor.configuration.remove(model);
                        descriptor.configuration.add(model);
                    }
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addRequiredRole(String role) {
                if (handler.accepted(role)) {
                    descriptor.requiredRoles.add(role);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder addClass(String clazz) {
                if (handler.accepted(clazz)) {
                    descriptor.classes.add(clazz);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setConfiguration(List<NamedObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setConfiguration(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setEnvironmentEntries(List<NamedObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setEnvironmentEntries(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setWorkItemHandlers(List<NamedObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setWorkItemHandlers(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setGlobals(List<NamedObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setGlobals(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setEventListeners(List<ObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setEventListeners(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setTaskEventListeners(List<ObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setTaskEventListeners(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setMarshalingStrategies(List<ObjectModel> models) {
                if (handler.accepted(models)) {
                    descriptor.setMarshallingStrategies(models);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setRequiredRoles(List<String> roles) {
                if (handler.accepted(roles)) {
                    descriptor.setRequiredRoles(roles);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setClasses(List<String> classes) {
                if (handler.accepted(classes)) {
                    descriptor.setClasses(classes);
                }
                return this;
            }

            @Override
            public DeploymentDescriptorBuilder setLimitSerializationClasses(Boolean limit) {
                if (handler.accepted(limit)) {
                    descriptor.setLimitSerializationClasses(limit);
                }
                return this;
            }

            @Override
            public void setBuildHandler(BuilderHandler handler) {
                this.handler = handler;
            }

            @Override
            public DeploymentDescriptor get() {
                return descriptor;
            }

        };
    }