language is java
Restrictions: You are not allowed to use anything from the String, StringBuilder, or Wrapper classes. In general, you may not use anything from any other Java classes, unless otherwise specified. You are not allowed to use String literals in your code (“this is a string literal”). You are not allowed to use String objects in your code. The methods must be implemented by manipulating the data field array, The CSString Class: NOTE: Pay very careful attention to the method header as well as what the method should return. As always use the correct access modifiers, Once a CSString object has been created, you should never change the characters in that string. Any changes should result in a new CSString object being returned. Data Fields: char[] text: This class shall have a data field that is an array of characters. NOTE: No other data fields are allowed. Constructors: CSString(charl] text): This constructor shall take an array of characters as input. This constructor shall use the System. arraycopy() method to copy the data from the parameter array to the data field array, which shall make a deep copy of the data. This class shall have no other constructors. Methods: charAt(int index): This method shall take an integer index as input. The index value cannot be negative. The index value cannot be larger than the length of the string 1. If the index is not valid, display an error message and return ‘