/*
* Copyright 2008-2016 the original author or authors.
*
* 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.nominanuda.zen.obj;
import static com.nominanuda.zen.obj.JsonDeserializer.JSON_DESERIALIZER;
import java.io.InputStream;
import java.io.Reader;
public interface Stru extends Any, StruFactory {
@Override
default Object toJavaObjModel() {
return this;
}
Stru reset();
// public static Obj makeObj() {
// return new ObjImpl();
// }
//
// public static Arr makeArr() {
// return new ArrImpl();
// }
// @SuppressWarnings("unchecked")
// public static <T> TArr<T> makeArr(Class<T> cl) {
// return (TArr<T>)new ArrImpl();
// }
int len();
static Stru parse(Reader r) {
return (Stru)JSON_DESERIALIZER.deserialize(r);
}
static Stru parse(InputStream is) {
return (Stru)JSON_DESERIALIZER.deserialize(is);
}
}