View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  package org.apache.commons.scxml;
    18
    19  // Used for suggesting replacement in deprecation warnings
    20  import org.apache.commons.scxml.semantics.ErrorConstants;
    21
    22  /***
    23   * An interface for reporting SCXML errors to the host environment,
    24   * containing the definition of commonly occuring errors while executing
    25   * SCXML documents.
    26   *
    27   */
    28  public interface ErrorReporter {
    29
    30      /***
    31       * Handler for reporting an error.
    32       *
    33       * @param errCode
    34       *            one of the ErrorReporter's constants
    35       * @param errDetail
    36       *            human readable description
    37       * @param errCtx
    38       *            typically an SCXML element which caused an error,
    39       *            may be accompanied by additional information
    40       */
    41      void onError(String errCode, String errDetail, Object errCtx);
    42
    43      /***
    44       * Missing initial state for a composite state or for the scxml root.
    45       *
    46       * @see org.apache.commons.scxml.model.SCXML#getInitialState()
    47       * @see org.apache.commons.scxml.model.State#getInitial()
    48       *
    49       * @deprecated Use {@link ErrorConstants#NO_INITIAL} instead.
    50       */
    51      String NO_INITIAL = "NO_INITIAL";
    52
    53      /***
    54       * An initial state for a composite state whose Transition does not.
    55       * Map to a descendant of the composite state.
    56       *
    57       * @deprecated Use {@link ErrorConstants#ILLEGAL_INITIAL} instead.
    58       */
    59      String ILLEGAL_INITIAL = "ILLEGAL_INITIAL";
    60
    61      /***
    62       * Unknown action - unsupported executable content. List of supported.
    63       * actions: assign, cancel, elseif, else, if, log, send, var
    64       *
    65       * @deprecated Use {@link ErrorConstants#UNKNOWN_ACTION} instead.
    66       */
    67      String UNKNOWN_ACTION = "UNKNOWN_ACTION";
    68
    69      /***
    70       * Illegal state machine configuration.
    71       * Either a parallel exists which does not have all its AND sub-states
    72       * active or there are multiple enabled OR states on the same level.
    73       *
    74       * @deprecated Use {@link ErrorConstants#ILLEGAL_CONFIG} instead.
    75       */
    76      String ILLEGAL_CONFIG = "ILLEGAL_CONFIG";
    77
    78      /***
    79       * Non-deterministic situation has occured - there are more than
    80       * one enabled transitions in conflict.
    81       *
    82       * @deprecated No longer necessary, non determinism is solved based
    83       *             on state heirarchy and document order priorities.
    84       */
    85      String NON_DETERMINISTIC = "NON_DETERMINISTIC";
    86
    87      /***
    88       * A variable referred to by assign name attribute is undefined.
    89       *
    90       * @deprecated Use {@link ErrorConstants#UNDEFINED_VARIABLE} instead.
    91       */
    92      String UNDEFINED_VARIABLE = "UNDEFINED_VARIABLE";
    93
    94      /***
    95       * An expression language error.
    96       *
    97       * @deprecated Use {@link ErrorConstants#EXPRESSION_ERROR} instead.
    98       */
    99      String EXPRESSION_ERROR = "EXPRESSION_ERROR";
    100
    101 }