/* * Copyright 2012 Red Hat, Inc. and/or its affiliates. * * Licensed 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.drools.examples.carinsurance.domain.request; import java.util.ArrayList; import java.util.List; import org.drools.examples.carinsurance.domain.Car; import org.drools.examples.carinsurance.domain.Driver; public class PolicyRequest { private Driver owner; private Car car; private List<CoverageRequest> coverageRequestList = new ArrayList<CoverageRequest>(); private boolean automaticallyRejected = false; private List<String> rejectedMessageList = new ArrayList<String>(); private List<String> flaggedMessageList = new ArrayList<String>(); private boolean requiresManualApproval = false; private boolean manuallyApproved = false; public PolicyRequest() { } public PolicyRequest(Driver owner, Car car) { this.car = car; this.owner = owner; } public Driver getOwner() { return owner; } public void setOwner(Driver owner) { this.owner = owner; } public Car getCar() { return car; } public void setCar(Car car) { this.car = car; } public List<CoverageRequest> getCoverageRequestList() { return coverageRequestList; } public boolean isAutomaticallyRejected() { return automaticallyRejected; } public void setAutomaticallyRejected(boolean automaticallyRejected) { this.automaticallyRejected = automaticallyRejected; } public List<String> getRejectedMessageList() { return rejectedMessageList; } public boolean isRequiresManualApproval() { return requiresManualApproval; } public void setRequiresManualApproval(boolean requiresManualApproval) { this.requiresManualApproval = requiresManualApproval; } public boolean isManuallyApproved() { return manuallyApproved; } public void setManuallyApproved(boolean manuallyApproved) { this.manuallyApproved = manuallyApproved; } public List<String> getFlaggedMessageList() { return flaggedMessageList; } // ############################################################################ // Non getters and setters // ############################################################################ public void addCoverageRequest(CoverageRequest coverageRequest) { coverageRequest.setPolicyRequest(this); coverageRequestList.add(coverageRequest); } public void addRejectedMessage(String rejectedMessage) { rejectedMessageList.add(rejectedMessage); } public void addFlaggedMessage(String flaggedMessage) { flaggedMessageList.add(flaggedMessage); } public boolean isApproved() { return !automaticallyRejected && (!requiresManualApproval || manuallyApproved); } }