summaryrefslogtreecommitdiffstats
path: root/rosetta/src/main/java/com/att/rosetta/Parsed.java
diff options
context:
space:
mode:
Diffstat (limited to 'rosetta/src/main/java/com/att/rosetta/Parsed.java')
-rw-r--r--rosetta/src/main/java/com/att/rosetta/Parsed.java91
1 files changed, 91 insertions, 0 deletions
diff --git a/rosetta/src/main/java/com/att/rosetta/Parsed.java b/rosetta/src/main/java/com/att/rosetta/Parsed.java
new file mode 100644
index 0000000..412251f
--- /dev/null
+++ b/rosetta/src/main/java/com/att/rosetta/Parsed.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aai
+ * * ===========================================================================
+ * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * * Copyright © 2017 Amdocs
+ * * ===========================================================================
+ * * 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.
+ * * ============LICENSE_END====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package com.att.rosetta;
+
+
+public class Parsed<S> {
+ public static final String EXTENSION_TAG="extension";
+
+ public boolean isString;
+
+ public StringBuilder sb;
+ public char event;
+ public String name;
+ public S state;
+
+ public Parsed() {
+ this(null);
+ }
+
+ // Package on purpose
+ Parsed(S theState) {
+ sb = new StringBuilder();
+ isString = false;
+ event = Parse.NONE;
+ name = "";
+ state = theState;
+ }
+
+ public boolean valid() {
+ return event!=Parse.NONE;
+ }
+
+ public Parsed<S> reuse() {
+ isString=false;
+ sb.setLength(0);
+ event = Parse.NONE;
+ name = "";
+ // don't touch T...
+ return this;
+ }
+
+ public void dataIsName() {
+ name = sb.toString();
+ sb.setLength(0);
+ }
+
+ public boolean hasName() {
+ return name.length()>0;
+ }
+
+ public boolean hasData() {
+ return sb.length()>0;
+ }
+
+ public String toString() {
+ StringBuilder sb2 = new StringBuilder();
+ if(event<40)sb2.append((int)event);
+ else sb2.append(event);
+ sb2.append(" - ");
+ sb2.append(name);
+ if(sb.length()>0) {
+ sb2.append(" : ");
+ if(isString)sb2.append('"');
+ sb2.append(sb);
+ if(isString)sb2.append('"');
+ }
+ return sb2.toString();
+ }
+
+}