package org.onap.so.client.aai.entities.uri;
import java.net.URI;
-
import javax.ws.rs.core.UriBuilder;
-
import org.onap.so.client.aai.AAIObjectPlurals;
import org.onap.so.client.aai.AAIObjectType;
-import org.onap.so.client.graphinventory.Format;
-import org.onap.so.client.graphinventory.entities.uri.Depth;
import org.onap.so.client.graphinventory.entities.uri.SimpleUri;
-public class AAISimpleUri extends SimpleUri implements AAIResourceUri {
-
- protected AAISimpleUri(AAIObjectType type, Object... values) {
- super(type, values);
-
- }
- protected AAISimpleUri(AAIObjectType type, URI uri) {
- super(type, uri);
- }
- protected AAISimpleUri(AAIObjectType type, UriBuilder builder, Object... values) {
- super(type, builder, values);
- }
- protected AAISimpleUri(AAIObjectPlurals type, UriBuilder builder, Object... values) {
- super(type, builder, values);
- }
- protected AAISimpleUri(AAIObjectPlurals type) {
- super(type);
- }
- protected AAISimpleUri(AAIObjectPlurals type, Object... values) {
- super(type, values);
- }
-
- @Override
- public AAISimpleUri relationshipAPI() {
- return (AAISimpleUri) super.relationshipAPI();
- }
-
- @Override
- public AAISimpleUri relatedTo(AAIObjectPlurals plural) {
- return (AAISimpleUri) super.relatedTo(plural);
- }
- @Override
- public AAISimpleUri relatedTo(AAIObjectType type, String... values) {
- return (AAISimpleUri) super.relatedTo(type, values);
- }
-
- @Override
- public AAISimpleUri resourceVersion(String version) {
- return (AAISimpleUri) super.resourceVersion(version);
- }
-
- @Override
- public AAISimpleUri queryParam(String name, String... values) {
- return (AAISimpleUri) super.queryParam(name, values);
- }
-
- @Override
- public AAISimpleUri replaceQueryParam(String name, String... values) {
- return (AAISimpleUri) super.replaceQueryParam(name, values);
- }
-
- @Override
- public AAISimpleUri resultIndex(int index) {
- return (AAISimpleUri) super.resultIndex(index);
- }
-
- @Override
- public AAISimpleUri resultSize(int size) {
- return (AAISimpleUri) super.resultSize(size);
- }
-
- @Override
- public AAISimpleUri limit(int size) {
- return (AAISimpleUri) super.limit(size);
- }
-
- @Override
- public AAISimpleUri clone() {
- if (this.type != null) {
- return new AAISimpleUri((AAIObjectType)this.type, this.internalURI.clone(), values);
- } else {
- return new AAISimpleUri((AAIObjectPlurals)this.pluralType, this.internalURI.clone(), values);
- }
- }
-
- @Override
- public AAIObjectType getObjectType() {
- return (AAIObjectType)this.type;
- }
+public class AAISimpleUri extends SimpleUri<AAIResourceUri, AAIPluralResourceUri, AAIObjectType, AAIObjectPlurals>
+ implements AAIResourceUri {
+
+ private static final long serialVersionUID = -6397024057188453229L;
+
+ protected AAISimpleUri(AAIObjectType type, Object... values) {
+ super(type, values);
+
+ }
+
+ protected AAISimpleUri(AAIObjectType type, URI uri) {
+ super(type, uri);
+ }
+
+ protected AAISimpleUri(AAIObjectType type, UriBuilder builder, Object... values) {
+ super(type, builder, values);
+ }
+
+ protected AAISimpleUri(AAIResourceUri parentUri, AAIObjectType childType, Object... childValues) {
+ super(parentUri, childType, childValues);
+ }
+
+ // copy constructor
+ protected AAISimpleUri(AAISimpleUri copy) {
+ super(copy);
+ }
+
+ @Override
+ public AAISimpleUri clone() {
+ return new AAISimpleUri(this);
+ }
+
+ @Override
+ public AAISimpleUri relatedTo(AAIObjectType type, String... values) {
+ this.internalURI = internalURI.path(relatedTo);
+ return new AAISimpleUri(this, type, values);
+ }
+
+ @Override
+ public AAISimplePluralUri relatedTo(AAIObjectPlurals plural) {
+ this.internalURI.path(relatedTo);
+ return new AAISimplePluralUri(this, plural);
+ }
- @Override
- public AAISimpleUri depth(Depth depth) {
- return (AAISimpleUri) super.depth(depth);
- }
- @Override
- public AAISimpleUri nodesOnly(boolean nodesOnly) {
- return (AAISimpleUri)super.nodesOnly(nodesOnly);
- }
-
- @Override
- public AAISimpleUri format(Format format) {
- return (AAISimpleUri)super.format(format);
- }
}