AbstractModelKnob.java

  1. // @formatter:off
  2.  /*******************************************************************************
  3.  *
  4.  * This file is part of JMad.
  5.  *
  6.  * Copyright (c) 2008-2011, CERN. All rights reserved.
  7.  *
  8.  * Licensed under the Apache License, Version 2.0 (the "License");
  9.  * you may not use this file except in compliance with the License.
  10.  * You may obtain a copy of the License at
  11.  *
  12.  *     http://www.apache.org/licenses/LICENSE-2.0
  13.  *
  14.  * Unless required by applicable law or agreed to in writing, software
  15.  * distributed under the License is distributed on an "AS IS" BASIS,
  16.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17.  * See the License for the specific language governing permissions and
  18.  * limitations under the License.
  19.  *
  20.  ******************************************************************************/
  21. // @formatter:on

  22. /**
  23.  *
  24.  */
  25. package cern.accsoft.steering.jmad.model.knob;

  26. import cern.accsoft.steering.jmad.domain.knob.AbstractKnob;
  27. import cern.accsoft.steering.jmad.model.JMadModel;

  28. /**
  29.  * The simplest Knob, acting on a model
  30.  *
  31.  * @author Kajetan Fuchsberger (kajetan.fuchsberger at cern.ch)
  32.  */
  33. public abstract class AbstractModelKnob extends AbstractKnob implements ModelKnob {

  34.     /** the model to act on */
  35.     private JMadModel model;

  36.     /**
  37.      * the default constructor, which enforces to provide a model.
  38.      *
  39.      * @param model the model to use for the knob
  40.      */
  41.     public AbstractModelKnob(JMadModel model) {
  42.         this.model = model;
  43.     }

  44.     /**
  45.      * the constructor to allow also creation of the knob without setting the model immediately
  46.      */
  47.     public AbstractModelKnob() {
  48.         /* model stays null and must be set afterwards! */
  49.     }

  50.     protected JMadModel getModel() {
  51.         return model;
  52.     }

  53.     @Override
  54.     public void setModel(JMadModel model) {
  55.         this.model = model;
  56.     }
  57. }