/******************************************************************************* * See the NOTICE file distributed with this work for additional information * regarding copyright ownership. * * 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 hr.fer.zemris.vhdllab.applets.editor.schema2.model; import hr.fer.zemris.vhdllab.applets.editor.schema2.enums.EErrorTypes; import hr.fer.zemris.vhdllab.applets.editor.schema2.interfaces.ICommandResponse; import hr.fer.zemris.vhdllab.applets.editor.schema2.misc.ChangeTuple; import hr.fer.zemris.vhdllab.applets.editor.schema2.misc.InfoMap; import hr.fer.zemris.vhdllab.applets.editor.schema2.misc.SchemaError; import java.util.ArrayList; import java.util.List; public class CommandResponse implements ICommandResponse { private SchemaError error; private boolean success; private InfoMap info; private List<ChangeTuple> changes; /** * Defaultni konstruktor * pretpostavlja da nije doslo do greske * i da je komanda uspjela. */ public CommandResponse() { error = null; success = true; info = new InfoMap(); changes = null; } /** * Postavlja se uspjesnost zahtjeva. * Za neuspjesan zahtjev error dobiva * UNKNOWN_TYPE tip. * * @param isSuccessful */ public CommandResponse(boolean isSuccessful) { success = isSuccessful; error = (success) ? (null) : (new SchemaError(EErrorTypes.UNKNOWN_TYPE)); info = new InfoMap(); changes = null; } /** * Postavlja se odredeni error. * * @param responseError * Ako se za error specificira null, * isCommandSuccessful() ce biti true. * Ako se specificira neki error, * onda ce isCommandSuccessful() biti false; */ public CommandResponse(SchemaError responseError) { success = (responseError == null) ? (true) : (false); error = responseError; info = new InfoMap(); changes = null; } /** * Buduci da postavlja listu promjena, * automatski pretpostavlja da je zahtjev * bio uspjesan. * * @param changelist */ public CommandResponse(List<ChangeTuple> changelist) { changes = changelist; success = true; error = null; info = new InfoMap(); } /** * Automatski stvara listu promjena i dodaje * u tu listu navedenu promjenu. Sluzi kako * bi olaksao stvaranje responsea u slucaju * samo jedne promjene. * Naravno, pretpostavlja uspjesnost zahtjeva. * * @param oneTuple */ public CommandResponse(ChangeTuple oneTuple) { changes = new ArrayList<ChangeTuple>(); changes.add(oneTuple); success = true; error = null; info = new InfoMap(); } public SchemaError getError() { return error; } public InfoMap getInfoMap() { return info; } public boolean isSuccessful() { return success; } public List<ChangeTuple> getPropertyChanges() { return changes; } }