<commit_before>/**
 * Copyright (C) 2014-2016 <NAME> (www.helger.com)
 * philip[at]helger[dot]com
 *
 * 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 com.helger.commons.error;

import java.io.Serializable;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import com.helger.commons.CGlobal;

/**
 * Interface indication the position of something within a single resource
 *
 * @author <NAME>
 */
public interface IResourceLocation extends Serializable
{
  /** Constant for an illegal row or column number */
  int ILLEGAL_NUMBER = CGlobal.ILLEGAL_UINT;

  /**
   * @return The ID of the resource where the error occurred. May be
   *         <code>null</code>.
   */
  @Nullable
  String getResourceID ();

  /**
   * @return The 1-based line number {@link #ILLEGAL_NUMBER} if no line number
   *         is present.
   */
  int getLineNumber ();

  /**
   * @return The 1-based column number {@link #ILLEGAL_NUMBER} if no column
   *         number is present.
   */
  int getColumnNumber ();

  /**
   * @return The field where the error occurred. Sometimes this field is
   *         available instead of the line- and column numbers. May be
   *         <code>null</code>.
   */
  @Nullable
  String getField ();

  /**
   * @return The display text of the resource location.
   */
  @Nonnull
  String getAsString ();
}<commit_msg>Added some default methods<commit_after>/**
 * Copyright (C) 2014-2016 <NAME> (www.helger.com)
 * philip[at]helger[dot]com
 *
 * 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 com.helger.commons.error;

import java.io.Serializable;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import com.helger.commons.CGlobal;
import com.helger.commons.string.StringHelper;

/**
 * Interface indication the position of something within a single resource
 *
 * @author <NAME>
 */
public interface IResourceLocation extends Serializable
{
  /** Constant for an illegal row or column number */
  int ILLEGAL_NUMBER = CGlobal.ILLEGAL_UINT;

  /**
   * @return The ID of the resource where the error occurred. May be
   *         <code>null</code>.
   */
  @Nullable
  String getResourceID ();

  default boolean hasResourceID ()
  {
    return StringHelper.hasText (getResourceID ());
  }

  /**
   * @return The 1-based line number {@link #ILLEGAL_NUMBER} if no line number
   *         is present.
   */
  int getLineNumber ();

  default boolean hasLineNumber ()
  {
    return getLineNumber () > ILLEGAL_NUMBER;
  }

  /**
   * @return The 1-based column number {@link #ILLEGAL_NUMBER} if no column
   *         number is present.
   */
  int getColumnNumber ();

  default boolean hasColumnNumber ()
  {
    return getColumnNumber () > ILLEGAL_NUMBER;
  }

  /**
   * @return The field where the error occurred. Sometimes this field is
   *         available instead of the line- and column numbers. May be
   *         <code>null</code>.
   */
  @Nullable
  String getField ();

  default boolean hasField ()
  {
    return StringHelper.hasText (getField ());
  }

  /**
   * @return The display text of the resource location.
   */
  @Nonnull
  String getAsString ();
}
{'fraction_non_alphanumeric': 0.09789372905696506, 'fraction_numerical': 0.006701771182383916, 'mean_word_length': 3.089041095890411, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '420195', 'n_tokens_mistral': 1212, 'n_tokens_neox': 1164, 'n_words': 439}