FunctorError.java

  1. /*
  2.  * #%L
  3.  * prolobjectlink-jpi
  4.  * %%
  5.  * Copyright (C) 2019 Prolobjectlink Project
  6.  * %%
  7.  * Permission is hereby granted, free of charge, to any person obtaining a copy
  8.  * of this software and associated documentation files (the "Software"), to deal
  9.  * in the Software without restriction, including without limitation the rights
  10.  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11.  * copies of the Software, and to permit persons to whom the Software is
  12.  * furnished to do so, subject to the following conditions:
  13.  *
  14.  * The above copyright notice and this permission notice shall be included in
  15.  * all copies or substantial portions of the Software.
  16.  *
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20.  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21.  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22.  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  23.  * THE SOFTWARE.
  24.  * #L%
  25.  */
  26. package io.github.prolobjectlink.prolog;

  27. /**
  28.  * Runtime error raised when occurs one call to get functor method over a term
  29.  * that no have functor property. The functor is a compound term and atom
  30.  * property only. This runtime error is raised when we invoke
  31.  * {@link PrologTerm#getFunctor()} over terms like Numbers and Variables
  32.  *
  33.  * @author Jose Zalacain
  34.  * @since 1.0
  35.  */
  36. public final class FunctorError extends PrologError {

  37.     private static final long serialVersionUID = -3324307242366044977L;

  38.     /**
  39.      * Create an functor runtime error. This constructor give the term over runtime
  40.      * error occurs.
  41.      *
  42.      * @param term the term over runtime error occurs.
  43.      * @since 1.0
  44.      */
  45.     public FunctorError(Object term) {
  46.         super("The term not have functor: " + term);
  47.     }

  48. }