Skip to content

Commit f07b909

Browse files
committed
Updates
1 parent fe9ac6b commit f07b909

14 files changed

Lines changed: 47 additions & 394 deletions

modules/packed/src/main/java/app/packed/component/OverviewMirror.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ protected OverviewMirror(OverviewHandle<E> overviewHandle) {
5454
this.handle = (PackedOverviewHandle<E>) requireNonNull(overviewHandle);
5555
}
5656

57+
/** {@return the backing handle for this overview mirror} */
58+
protected final OverviewHandle<E> handle() {
59+
return handle;
60+
}
61+
5762
/**
5863
* {@return a stream of all operations within this overview's scope that were installed by extension {@code E}}
5964
* <p>

modules/packed/src/main/java/app/packed/container/ContainerMirror.java

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@
33
import static java.util.Objects.requireNonNull;
44

55
import java.util.List;
6-
import java.util.Optional;
76
import java.util.Set;
87
import java.util.stream.Stream;
98

10-
import org.jspecify.annotations.Nullable;
11-
129
import app.packed.application.ApplicationMirror;
1310
import app.packed.assembly.AssemblyMirror;
1411
import app.packed.bean.BeanMirror;
@@ -19,18 +16,12 @@
1916
import app.packed.component.ComponentRealm;
2017
import app.packed.extension.BaseExtension;
2118
import app.packed.extension.Extension;
22-
import app.packed.extension.ExtensionMirror;
2319
import app.packed.namespace.NamespaceMirror;
2420
import app.packed.operation.OperationMirror;
2521
import app.packed.util.TreeView;
2622
import internal.app.packed.bean.introspection.IntrospectorOnAutoService;
27-
import internal.app.packed.container.ContainerSetup;
28-
import internal.app.packed.extension.ExtensionClassModel;
29-
import internal.app.packed.extension.ExtensionSetup;
3023
import internal.app.packed.extension.base.BaseExtensionBeanIntrospector;
3124
import internal.app.packed.util.PackedTreeView;
32-
import internal.app.packed.util.types.ClassUtil;
33-
import internal.app.packed.util.types.TypeVariableExtractor;
3425

3526
/**
3627
* A mirror of a container.
@@ -43,19 +34,6 @@
4334
@AutoServiceInheritable(introspector = ContainerMirrorBeanIntrospector.class)
4435
public non-sealed class ContainerMirror implements ComponentMirror, ContainerBuildLocal.Accessor {
4536

46-
/** Extract the (extension class) type variable from ExtensionMirror. */
47-
private final static ClassValue<Class<? extends Extension<?>>> EXTENSION_TYPES = new ClassValue<>() {
48-
49-
/** A type variable extractor. */
50-
private static final TypeVariableExtractor EXTRACTOR = TypeVariableExtractor.of(ExtensionMirror.class);
51-
52-
/** {@inheritDoc} */
53-
@Override
54-
protected Class<? extends Extension<?>> computeValue(Class<?> type) {
55-
return ExtensionClassModel.extractE(EXTRACTOR, type);
56-
}
57-
};
58-
5937
/** The container we are mirroring. */
6038
final ContainerHandle<?> handle;
6139

@@ -132,21 +110,6 @@ public final Set<Class<? extends Extension<?>>> extensionTypes() {
132110
return handle.container.extensionTypes();
133111
}
134112

135-
/**
136-
* <p>
137-
* If you know for certain that extension is used in the container you can use {@link #use(Class)} instead.
138-
*
139-
* @param <T>
140-
* the type of mirror
141-
* @param mirrorType
142-
* the mirror type
143-
* @return a mirror of the specified type, or empty if the extension the mirror represents is not used in the container
144-
*/
145-
public final <T extends ExtensionMirror<?>> Optional<T> findExtension(Class<T> mirrorType) {
146-
ClassUtil.checkProperSubclass(ExtensionMirror.class, mirrorType, "mirrorType");
147-
return Optional.ofNullable(newMirrorOrNull(handle.container, mirrorType));
148-
}
149-
150113
/** {@inheritDoc} */
151114
@Override
152115
public final int hashCode() {
@@ -208,32 +171,6 @@ public final List<WireletMirror> wirelets() {
208171
throw new UnsupportedOperationException();
209172
}
210173

211-
/**
212-
* Creates a new mirror if an. Otherwise returns {@code null}
213-
*
214-
* @param container
215-
* the container to test for presence extension may be present
216-
* @param mirrorClass
217-
* the type of mirror to return
218-
* @return a mirror of the specified type or null if no extension of the matching type was used in the container
219-
*/
220-
@Nullable
221-
static <T extends ExtensionMirror<?>> T newMirrorOrNull(ContainerSetup container, Class<T> mirrorClass) {
222-
// Extract <E> from ExtensionMirror<E extends Extension>
223-
Class<? extends Extension<?>> extensionType = EXTENSION_TYPES.get(mirrorClass);
224-
225-
ExtensionMirror<?> mirror = null;
226-
227-
// See if the extension is in use.
228-
ExtensionSetup extension = container.extensions.get(extensionType);
229-
if (extension != null) {
230-
// Call Extension#newExtensionMirror
231-
mirror = extension.newExtensionMirror(mirrorClass);
232-
requireNonNull(mirror);
233-
// Should take an ExtensionHandle
234-
}
235-
return mirrorClass.cast(mirror);
236-
}
237174
}
238175

239176
final class ContainerMirrorBeanIntrospector extends BaseExtensionBeanIntrospector {

modules/packed/src/main/java/app/packed/extension/BaseExtension.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -287,12 +287,6 @@ private BeanInstaller newBeanBuilderSelf(BeanKind lifetime) {
287287
return PackedBeanInstaller.newInstaller(lifetime, extension, extension);
288288
}
289289

290-
/** {@return a mirror for this extension.} */
291-
@Override
292-
protected BaseExtensionMirror newExtensionMirror() {
293-
return new BaseExtensionMirror(handle());
294-
}
295-
296290
/** {@inheritDoc} */
297291
@Override
298292
protected BaseExtensionPoint newExtensionPoint(ExtensionPointHandle usesite) {

modules/packed/src/main/java/app/packed/extension/BaseExtensionMirror.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

modules/packed/src/main/java/app/packed/extension/Extension.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,6 @@ public PackedExtensionPointHandle get_ExtensionPoint_PackedExtensionPointHandle(
9797
return extensionPoint.handle;
9898
}
9999

100-
@Override
101-
public ExtensionMirror<?> invoke_Extension_NewExtensionMirror(Extension<?> extension) {
102-
return extension.newExtensionMirror();
103-
}
104-
105100
@Override
106101
public ExtensionPoint<?> invoke_Extension_NewExtensionPoint(Extension<?> extension, ExtensionPointHandle usesite) {
107102
return extension.newExtensionPoint(usesite);
@@ -276,20 +271,6 @@ protected final E lifetimeRoot() {
276271
return (E) s.instance();
277272
}
278273

279-
/**
280-
* This method can be overridden to provide a customized {@link ExtensionMirror mirror} for the extension. For example,
281-
* {@link BaseExtension} overrides this method to provide an instance of {@link BaseExtensionMirror}.
282-
* <p>
283-
* This method should never return null.
284-
*
285-
* @return a customized mirror for the extension
286-
* @throws InternalExtensionException
287-
* if the extension defines an extension mirror but does not override this method.
288-
*/
289-
protected ExtensionMirror<E> newExtensionMirror() {
290-
throw new InternalExtensionException("This method must be overridden by " + extension.extensionType);
291-
}
292-
293274
/**
294275
* Returns a new extension point for the extension
295276
* <p>

0 commit comments

Comments
 (0)