/* Copyright (c) 2011 Danish Maritime Authority * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this library. If not, see <http://www.gnu.org/licenses/>. */ package dk.dma.ais.abnormal.event.db.domain.builders; import dk.dma.ais.abnormal.event.db.domain.Vessel; import dk.dma.ais.abnormal.util.AisDataHelper; public class VesselBuilder { Vessel vessel; BehaviourBuilder behaviourBuilder; public VesselBuilder() { vessel = new Vessel(); } public VesselBuilder(BehaviourBuilder behaviourBuilder) { vessel = new Vessel(); this.behaviourBuilder = behaviourBuilder; } public static VesselBuilder Vessel() { return new VesselBuilder(); } public BehaviourBuilder name(String name) { vessel.setName(AisDataHelper.trimAisString(name)); return behaviourBuilder; } public VesselBuilder callsign(String callsign) { vessel.setCallsign(AisDataHelper.trimAisString(callsign)); return this; } public VesselBuilder imo(Integer imo) { vessel.setImo(imo); return this; } public VesselBuilder mmsi(Integer mmsi) { vessel.setMmsi(mmsi); return this; } public VesselBuilder type(Integer type) { vessel.setType(type); return this; } public VesselBuilder toPort(Integer toPort) { vessel.setToPort(toPort); return this; } public VesselBuilder toStarboard(Integer toStarboard) { vessel.setToStarboard(toStarboard); return this; } public VesselBuilder toBow(Integer toBow) { vessel.setToBow(toBow); return this; } public VesselBuilder toStern(Integer toStern) { vessel.setToStern(toStern); return this; } public Vessel getVessel() { return vessel; } }