-/**
- * ============LICENSE_START====================================================
- * org.onap.aaf
- * ===========================================================================
- * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
- * ===========================================================================
- * 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====================================================
- *
- */
-
-package org.onap.aaf.misc.env;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-/**
- * <H1>Data</H1>
- * <i>Data</i> facilitates lazy marshaling of data with a pre-determined
- * marshaling mechanism.<p>
- *
- * It stores either Object (defined by Generic {@literal <T>}) or String.<p>
- *
- * On asking for Object of type {@literal <T>}, it will respond with the object
- * if it exists, or unmarshal the string and pass the result back.<p>
- *
- * On asking for String, it will respond with the String
- * if it exists, or marshal the String and pass the result back.<p>
- *
- * the "options" available on several functions control the output of this particular call. When
- * blank, they will default to the DataFactory defaults. When present, they override this
- * particular call.
- * The available options are "pretty" (for XML and JSON) and "fragment" (XML only concept), which drops
- * the "<?xml ...?>" header so you can create larger XML documents from the output.
- *
- * @author Jonathan
- *
- * @param <T>
- */
-public interface Data<T> {
- static enum TYPE {XML,JSON,JAXB,RAW,DEFAULT};
- // can & with 0xFFFF;
-// public static final int XML = 0x1;
-// public static final int JSON = 0x2;
-// public static final int JAXB = 0x4;
-// public static final int RAW = 0x1000;
-
- // can & with 0xF00000;
- public static final int PRETTY = 0x100000;
- public static final int FRAGMENT = 0x200000;
-
- /**
- * Respond with the String if it exists, or marshal the String and pass the result back.
- *
- * However, use the Env the Data Object was created with.
- *
- * @return String
- * @throws APIException
- */
- public String asString() throws APIException;
-
- /**
- * Respond with the Object of type {@literal <T>} if it exists, or unmarshal from String
- * and pass the result back.<p>
- *
- * However, use the Env the Data Object was created with.
- *
- * @return T
- * @throws APIException
- */
- public T asObject() throws APIException;
-
- /**
- * Set a particular option on an existing Out
- *
- * if int is negative, it should remove the option
- * @param option
- */
- public Data<T> option(int option);
-
- public Data<T> to(OutputStream os) throws APIException, IOException;
- public Data<T> to(Writer writer) throws APIException, IOException;
-
- public Data<T> load(T t) throws APIException;
- public Data<T> load(String str) throws APIException;
- public Data<T> load(InputStream is) throws APIException;
- public Data<T> load(Reader rdr) throws APIException;
-
- public Data<T> in(TYPE type);
- public Data<T> out(TYPE type);
- /**
- * Return the Class Type supported by this DataObject
- *
- * @return {@literal Class<T>}
- */
- public Class<T> getTypeClass();
-
- public void direct(InputStream input, OutputStream output) throws APIException, IOException;
-
-
+/**\r
+ * ============LICENSE_START====================================================\r
+ * org.onap.aaf\r
+ * ===========================================================================\r
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
+ * ===========================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END====================================================\r
+ *\r
+ */\r
+\r
+package org.onap.aaf.misc.env;\r
+\r
+import java.io.IOException;\r
+import java.io.InputStream;\r
+import java.io.OutputStream;\r
+import java.io.Reader;\r
+import java.io.Writer;\r
+/**\r
+ * <H1>Data</H1>\r
+ * <i>Data</i> facilitates lazy marshaling of data with a pre-determined\r
+ * marshaling mechanism.<p>\r
+ * \r
+ * It stores either Object (defined by Generic {@literal <T>}) or String.<p> \r
+ * \r
+ * On asking for Object of type {@literal <T>}, it will respond with the object\r
+ * if it exists, or unmarshal the string and pass the result back.<p>\r
+ * \r
+ * On asking for String, it will respond with the String\r
+ * if it exists, or marshal the String and pass the result back.<p>\r
+ *\r
+ * the "options" available on several functions control the output of this particular call. When \r
+ * blank, they will default to the DataFactory defaults. When present, they override this\r
+ * particular call.\r
+ * The available options are "pretty" (for XML and JSON) and "fragment" (XML only concept), which drops\r
+ * the "<?xml ...?>" header so you can create larger XML documents from the output. \r
+ * \r
+ * @author Jonathan\r
+ *\r
+ * @param <T>\r
+ */\r
+public interface Data<T> {\r
+ static enum TYPE {XML,JSON,JAXB,RAW,DEFAULT};\r
+ // can & with 0xFFFF;\r
+// public static final int XML = 0x1;\r
+// public static final int JSON = 0x2;\r
+// public static final int JAXB = 0x4;\r
+// public static final int RAW = 0x1000;\r
+ \r
+ // can & with 0xF00000;\r
+ public static final int PRETTY = 0x100000;\r
+ public static final int FRAGMENT = 0x200000;\r
+\r
+ /**\r
+ * Respond with the String if it exists, or marshal the String and pass the result back.\r
+ * \r
+ * However, use the Env the Data Object was created with.\r
+ * \r
+ * @return String\r
+ * @throws APIException\r
+ */\r
+ public String asString() throws APIException;\r
+\r
+ /**\r
+ * Respond with the Object of type {@literal <T>} if it exists, or unmarshal from String \r
+ * and pass the result back.<p>\r
+ *\r
+ * However, use the Env the Data Object was created with.\r
+ * \r
+ * @return T\r
+ * @throws APIException\r
+ */\r
+ public T asObject() throws APIException;\r
+\r
+ /**\r
+ * Set a particular option on an existing Out \r
+ * \r
+ * if int is negative, it should remove the option\r
+ * @param option\r
+ */\r
+ public Data<T> option(int option);\r
+\r
+ public Data<T> to(OutputStream os) throws APIException, IOException;\r
+ public Data<T> to(Writer writer) throws APIException, IOException;\r
+ \r
+ public Data<T> load(T t) throws APIException;\r
+ public Data<T> load(String str) throws APIException;\r
+ public Data<T> load(InputStream is) throws APIException;\r
+ public Data<T> load(Reader rdr) throws APIException;\r
+ \r
+ public Data<T> in(TYPE type);\r
+ public Data<T> out(TYPE type);\r
+ /**\r
+ * Return the Class Type supported by this DataObject\r
+ * \r
+ * @return {@literal Class<T>}\r
+ */\r
+ public Class<T> getTypeClass();\r
+\r
+ public void direct(InputStream input, OutputStream output) throws APIException, IOException;\r
+\r
+\r
}
\ No newline at end of file