pentaho/pentaho-kettle · error · KettleValueException

does not implement this method

Error message

 does not implement this method

What it means

Unsupported-operation sentinel in ValueMetaBase.getNativeDataTypeClass(): the base class does not implement a native data type class, so subclasses must override it. The message is prefixed with this value's type description; hitting it means a subclass forgot to provide the override.

Solutions

  1. Override getNativeDataTypeClass() in the concrete ValueMeta subclass to return its native class
  2. Avoid calling getNativeDataTypeClass() on the base ValueMetaBase type
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java:5537 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/26b167cceb1bd8c3. Report an issue: GitHub.

Appendix: source

Thrown at core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java:5537

  protected int getQuotesBeforeSymbol( String df, String symbols ) {
    int quotes = 0;
    int stopPos = df.indexOf( symbols );
    if ( stopPos > 0 ) {
      int curPos = -1;
      do {
        curPos = df.indexOf( "'", curPos + 1 );
        if ( curPos >= 0 && curPos < stopPos ) {
          quotes++;
        }
      } while ( curPos >= 0 && curPos < stopPos );
    }
    return quotes;
  }

  @Override
  public Class<?> getNativeDataTypeClass() throws KettleValueException {
    // Not implemented for base class
    throw new KettleValueException( getTypeDesc() + " does not implement this method" );
  }
}

View on GitHub (pinned to f3058517a1)