Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Commit 468bd3d

Browse files
committed
Simplified inheritance hierarchy for ModelDescriptor(s) that are also part of a VisitableHierarchy
1 parent 8d0d8dc commit 468bd3d

8 files changed

Lines changed: 47 additions & 6 deletions

File tree

core/api/src/main/java/org/apache/polygene/api/composite/CompositeDescriptor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@
2020

2121
package org.apache.polygene.api.composite;
2222

23+
import org.apache.polygene.api.util.VisitableModelDescriptor;
24+
2325
import java.util.stream.Stream;
2426

2527
/**
2628
* Composite Descriptor.
2729
*/
2830
public interface CompositeDescriptor
29-
extends ModelDescriptor
31+
extends VisitableModelDescriptor
3032
{
3133
Class<?> primaryType();
3234

core/api/src/main/java/org/apache/polygene/api/object/ObjectDescriptor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@
2121
package org.apache.polygene.api.object;
2222

2323
import org.apache.polygene.api.composite.ModelDescriptor;
24+
import org.apache.polygene.api.util.VisitableModelDescriptor;
2425

2526
/**
2627
* Object Descriptor.
2728
*/
2829
public interface ObjectDescriptor
29-
extends ModelDescriptor
30+
extends VisitableModelDescriptor
3031
{
3132
}

core/api/src/main/java/org/apache/polygene/api/service/ImportedServiceDescriptor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@
2222

2323
import org.apache.polygene.api.composite.ModelDescriptor;
2424
import org.apache.polygene.api.identity.Identifiable;
25+
import org.apache.polygene.api.util.VisitableModelDescriptor;
2526

2627
/**
2728
* {@code ServiceDescriptor} provides meta information of a service.
2829
*/
2930
public interface ImportedServiceDescriptor
30-
extends ModelDescriptor, Identifiable
31+
extends VisitableModelDescriptor, Identifiable
3132
{
3233
Class<? extends ServiceImporter> serviceImporter();
3334

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*
18+
*
19+
*/
20+
package org.apache.polygene.api.util;
21+
22+
import org.apache.polygene.api.composite.ModelDescriptor;
23+
24+
/**
25+
* A modeldescriptor, that is also part of a VisitableHierarchy
26+
*/
27+
public interface VisitableModelDescriptor
28+
extends ModelDescriptor, VisitableHierarchy<Object, Object>
29+
{
30+
}

core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
* JAVADOC
4848
*/
4949
public abstract class CompositeModel
50-
implements VisitableHierarchy<Object, Object>, Dependencies, CompositeDescriptor
50+
implements Dependencies, CompositeDescriptor
5151
{
5252
protected final ModuleDescriptor module;
5353
protected final MixinsModel mixinsModel;

core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
* JAVADOC
4040
*/
4141
public final class ObjectModel
42-
implements ObjectDescriptor, VisitableHierarchy<Object, Object>
42+
implements ObjectDescriptor
4343
{
4444
private final ModuleDescriptor module;
4545
private final Class<?> objectType;

core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServiceModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* JAVADOC
3939
*/
4040
public final class ImportedServiceModel
41-
implements ImportedServiceDescriptor, VisitableHierarchy<Object, Object>
41+
implements ImportedServiceDescriptor
4242
{
4343
private final ModuleDescriptor module;
4444
private final Class<?> type;

extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.apache.polygene.api.type.CollectionType;
3636
import org.apache.polygene.api.type.EntityCompositeType;
3737
import org.apache.polygene.api.type.ValueType;
38+
import org.apache.polygene.api.util.HierarchicalVisitor;
3839
import org.apache.polygene.api.value.ValueComposite;
3940
import org.apache.polygene.spi.entity.EntityState;
4041
import org.apache.polygene.spi.entity.EntityStatus;
@@ -279,6 +280,12 @@ public int hashCode()
279280
{
280281
return wrappedEntityDescriptor.hashCode();
281282
}
283+
284+
@Override
285+
public <ThrowableType extends Throwable> boolean accept(HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor) throws ThrowableType
286+
{
287+
return wrappedEntityDescriptor.accept(visitor);
288+
}
282289
}
283290

284291
private static class CompatAssociationStateDescriptorWrapper

0 commit comments

Comments
 (0)