From 42dfa347d0f9056fb0f1db8803d1addc7e94d71b Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Mon, 11 Apr 2016 19:36:16 +0200 Subject: [PATCH] Added event when an administrator has added a new country --- .../events/AdminAddedCountryEvent.java | 36 ++++++++++ .../events/AdminEventCountryAdded.java | 66 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 src/org/mxchange/jcountry/events/AdminAddedCountryEvent.java create mode 100644 src/org/mxchange/jcountry/events/AdminEventCountryAdded.java diff --git a/src/org/mxchange/jcountry/events/AdminAddedCountryEvent.java b/src/org/mxchange/jcountry/events/AdminAddedCountryEvent.java new file mode 100644 index 0000000..dfed22c --- /dev/null +++ b/src/org/mxchange/jcountry/events/AdminAddedCountryEvent.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2016 Roland Haeder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.mxchange.jcountry.events; + +import java.io.Serializable; +import org.mxchange.jcountry.data.Country; + +/** + * An interface for a country being added by the administrator. + *

+ * @author Roland Haeder + */ +public interface AdminAddedCountryEvent extends Serializable { + + /** + * Getter for added country + *

+ * @return Added country + */ + Country getAddedCountry (); + +} diff --git a/src/org/mxchange/jcountry/events/AdminEventCountryAdded.java b/src/org/mxchange/jcountry/events/AdminEventCountryAdded.java new file mode 100644 index 0000000..8fe8e97 --- /dev/null +++ b/src/org/mxchange/jcountry/events/AdminEventCountryAdded.java @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2016 Roland Haeder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.mxchange.jcountry.events; + +import java.text.MessageFormat; +import org.mxchange.jcountry.data.Country; + +/** + * An addedCountry triggered when the administrator adds a new country + *

+ * @author Roland Haeder + */ +public class AdminEventCountryAdded implements AdminAddedCountryEvent { + + /** + * Serial number + */ + private static final long serialVersionUID = 13_856_941_875_871_769L; + + /** + * Added country + */ + private final Country addedCountry; + + /** + * Constructor with added country + *

+ * @param addedCountry Added country + */ + public AdminEventCountryAdded (final Country addedCountry) { + // Is all valid? + if (null == addedCountry) { + // Throw NPE + throw new NullPointerException("addedCountry is null"); //NOI18N + } else if (addedCountry.getCountryId() == null) { + // And again ... + throw new NullPointerException("addedCountry.countryId is null"); //NOI18N + } else if (addedCountry.getCountryId() < 1) { + // Id is invalid + throw new IllegalArgumentException(MessageFormat.format("addedCountry.countryId={0} is not valid.", addedCountry.getCountryId())); //NOI18N + } + + // Set country + this.addedCountry = addedCountry; + } + + @Override + public Country getAddedCountry () { + return this.addedCountry; + } + +} -- 2.39.5