# CLElement

Artifact: [androidx.constraintlayout:constraintlayout-core](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/core/parser/CLElement.java+class:androidx.constraintlayout.core.parser.CLElement) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

*** ** * ** ***


```
public class CLElement implements Cloneable
```

<br />

Known direct subclasses [CLContainer](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLContainer), [CLNumber](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLNumber), [CLString](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLString), [CLToken](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLToken)

|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLContainer` | ////////////////////////////////////////////////////////////////////// |
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLNumber` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLString` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement` implementation for json Strings when used as property values or array elements. |
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLToken` |   |

Known indirect subclasses [CLArray](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLArray), [CLKey](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLKey), [CLObject](https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLObject)

|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLArray` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLKey` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLObject` |   |

*** ** * ** ***

Base element to represent a piece of parsed Json.

## Summary

| ### Protected fields |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLContainer` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#mContainer()` |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#mEnd()` |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#mStart()` |
| `static int` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#sBaseIndent()` |
| `static int` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#sMaxLine()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#CLElement(char[])(char[] content)` |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#clone()()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#content()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object.html o)` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getContainer()()` |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getEnd()()` The character index this element was ended on |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getFloat()()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getInt()()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getLine()()` get the line Number |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getStart()()` The character index this element was started on |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#hasContent()()` Whether this element has any valid content defined. |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#hashCode()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#isDone()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#isStarted()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#notStarted()()` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#setContainer(androidx.constraintlayout.core.parser.CLContainer)(https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLContainer element)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#setEnd(long)(long end)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#setLine(int)(int line)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#setStart(long)(long start)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#toString()()` |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#addIndent(java.lang.StringBuilder,int)(https://developer.android.com/reference/java/lang/StringBuilder.html builder, int indent)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getDebugName()()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#getStrClass()()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#toFormattedJSON(int,int)(int indent, int forceIndent)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#toJSON()()` |

## Protected fields

### mContainer

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected CLContainer mContainer
```

### mEnd

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected long mEnd
```

### mStart

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected long mStart
```

### sBaseIndent

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected static int sBaseIndent
```

### sMaxLine

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected static int sMaxLine
```

## Public constructors

### CLElement

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public CLElement(char[] content)
```

## Public methods

### clone

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public @NonNull CLElement clone()
```

### content

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public String content()
```

### equals

```
public boolean equals(Object o)
```

### getContainer

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public CLElement getContainer()
```

### getEnd

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public long getEnd()
```

The character index this element was ended on

### getFloat

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public float getFloat()
```

### getInt

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public int getInt()
```

### getLine

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public int getLine()
```

get the line Number

| Returns |
|---|---|
| `int` | return the line number this element was on |

### getStart

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public long getStart()
```

The character index this element was started on

### hasContent

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public boolean hasContent()
```

Whether this element has any valid content defined.

The content is valid when `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement#content()` can be called without causing exceptions.

### hashCode

```
public int hashCode()
```

### isDone

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public boolean isDone()
```

### isStarted

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public boolean isStarted()
```

### notStarted

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public boolean notStarted()
```

### setContainer

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setContainer(CLContainer element)
```

### setEnd

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setEnd(long end)
```

### setLine

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setLine(int line)
```

### setStart

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setStart(long start)
```

### toString

```
public String toString()
```

## Protected methods

### addIndent

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected void addIndent(StringBuilder builder, int indent)
```

### getDebugName

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected String getDebugName()
```

### getStrClass

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected String getStrClass()
```

### toFormattedJSON

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected String toFormattedJSON(int indent, int forceIndent)
```

### toJSON

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
protected String toJSON()
```