Package ch.raffael.meldioc.model
Class SrcElement<S,T>
java.lang.Object
ch.raffael.meldioc.model.SrcElement<S,T>
A raw AST-agnostic representation of the core elements making up a java
program (class, method, method parameter) and their configurations.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic enum -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccessibleTo(Adaptor<S, T> adaptor, SrcElement<S, T> that) booleanaccessibleTo(Adaptor<S, T> adaptor, SrcElement<S, T> that, boolean byExtension) booleanaccessibleToByExtension(Adaptor<S, T> adaptor, SrcElement<S, T> that) abstract AccessPolicystatic <S,T> SrcElement.Builder<S, T> builder()booleancanOverride(SrcElement<S, T> that, Adaptor<S, T> adaptor) abstract io.vavr.collection.Set<ElementConfig<S>>configs()io.vavr.control.Option<ConfigurationConfig<S>>SrcElement<io.vavr.control.Option.None<Void>,io.vavr.control.Option.None<Void>> detach()io.vavr.control.Option<ExtensionPointConfig<S>>io.vavr.control.Option<FeatureConfig<S>>io.vavr.control.Option<SrcElement<S,T>> SrcElement<S,T> abstract booleanabstract booleanisFinal()booleanbooleanabstract booleanisSealed()abstract booleanisStatic()abstract SrcElement.Kindkind()io.vavr.Tuple2<String,io.vavr.collection.Seq<SrcElement<?, T>>> io.vavr.control.Option<MountConfig<S>>abstract Stringname()<ES extends S,ET extends T>
SrcElement<ES,ET> narrow(@Nullable SrcElement.Kind kind, @Nullable Class<ES> sourceType, @Nullable Class<ET> typeType) SrcElement<S,T> narrow(SrcElement.Kind kind) <ES extends S,ET extends T>
SrcElement<ES,ET> io.vavr.control.Option<ParameterConfig<S>>io.vavr.control.Option<ParameterPrefixConfig<S>>SrcElement<S,T> parent()abstract io.vavr.control.Option<SrcElement<S,T>> io.vavr.control.Option<ProvisionConfig<S>>io.vavr.control.Option<SetupConfig<S>>abstract Ssource()<ES extends S>
ESbooleanabstract Ttype()<ET extends T>
ETSrcElement<S,T> withAccessPolicy(AccessPolicy value) Copy the current immutable object by setting a value for theaccessPolicyattribute.SrcElement<S,T> withConfigs(io.vavr.collection.Set<ElementConfig<S>> value) Copy the current immutable object by setting a value for theconfigsattribute.SrcElement<S,T> withExceptions(io.vavr.collection.Seq<T> value) Copy the current immutable object by setting a value for theexceptionsattribute.SrcElement<S,T> withIsAbstract(boolean value) Copy the current immutable object by setting a value for theisAbstractattribute.SrcElement<S,T> withIsFinal(boolean value) Copy the current immutable object by setting a value for theisFinalattribute.SrcElement<S,T> withIsSealed(boolean value) Copy the current immutable object by setting a value for theisSealedattribute.SrcElement<S,T> withIsStatic(boolean value) Copy the current immutable object by setting a value for theisStaticattribute.SrcElement<S,T> withKind(SrcElement.Kind value) Copy the current immutable object by setting a value for thekindattribute.SrcElement<S,T> Copy the current immutable object by setting a value for thenameattribute.SrcElement<?,T> SrcElement<S,T> withParameters(io.vavr.collection.Seq<SrcElement<S, T>> value) Copy the current immutable object by setting a value for theparametersattribute.SrcElement<S,T> withParentOption(io.vavr.control.Option<SrcElement<S, T>> value) Copy the current immutable object by setting a value for theparentOptionattribute.SrcElement<S,T> withSource(S value) Copy the current immutable object by setting a value for thesourceattribute.SrcElement<S,T> withSynthesized(boolean value) Copy the current immutable object by setting a value for thesynthesizedattribute.SrcElement<S,T> withSynthetic(boolean synthetic) SrcElement<S,T> Copy the current immutable object by setting a value for thetypeattribute.
-
Field Details
-
CONSTRUCTOR_NAME
- See Also:
-
-
Method Details
-
builder
-
kind
-
name
-
type
-
source
-
parent
-
synthetic
public boolean synthetic() -
withSynthetic
-
parentOption
-
accessPolicy
-
isStatic
@Redacted public abstract boolean isStatic() -
isFinal
@Redacted public abstract boolean isFinal() -
isSealed
@Redacted public abstract boolean isSealed() -
isAbstract
@Redacted public abstract boolean isAbstract() -
isOverridable
public boolean isOverridable() -
configs
-
findClass
-
findOutermost
-
accessibleTo
-
accessibleToByExtension
-
accessibleTo
-
canOverride
-
methodSignature
-
withoutSource
-
source
- Throws:
InconsistentModelException
-
type
- Throws:
InconsistentModelException
-
isInnerClass
public boolean isInnerClass() -
narrow
-
narrow
public <ES extends S,ET extends T> SrcElement<ES,ET> narrow(@Nullable @Nullable Class<ES> sourceType, @Nullable @Nullable Class<ET> typeType) -
narrow
public <ES extends S,ET extends T> SrcElement<ES,ET> narrow(@Nullable @Nullable SrcElement.Kind kind, @Nullable @Nullable Class<ES> sourceType, @Nullable @Nullable Class<ET> typeType) -
detach
-
configurationConfig
-
configurationConfigOption
-
setupConfig
-
setupConfigOption
-
parameterConfig
-
parameterConfigOption
-
parameterPrefixConfig
-
parameterPrefixConfigOption
-
extensionPointConfig
-
extensionPointConfigOption
-
featureConfig
-
featureConfigOption
-
mountConfig
-
mountConfigOption
-
provisionConfig
-
provisionConfigOption
-
withKind
Copy the current immutable object by setting a value for thekindattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for kind- Returns:
- A modified copy of the
thisobject
-
withName
Copy the current immutable object by setting a value for thenameattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for name- Returns:
- A modified copy of the
thisobject
-
withType
Copy the current immutable object by setting a value for thetypeattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for type- Returns:
- A modified copy of the
thisobject
-
withSource
Copy the current immutable object by setting a value for thesourceattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for source- Returns:
- A modified copy of the
thisobject
-
withSynthesized
Copy the current immutable object by setting a value for thesynthesizedattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for synthesized- Returns:
- A modified copy of the
thisobject
-
withParentOption
Copy the current immutable object by setting a value for theparentOptionattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for parentOption- Returns:
- A modified copy of the
thisobject
-
withAccessPolicy
Copy the current immutable object by setting a value for theaccessPolicyattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for accessPolicy- Returns:
- A modified copy of the
thisobject
-
withIsStatic
Copy the current immutable object by setting a value for theisStaticattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for isStatic- Returns:
- A modified copy of the
thisobject
-
withIsFinal
Copy the current immutable object by setting a value for theisFinalattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for isFinal- Returns:
- A modified copy of the
thisobject
-
withIsSealed
Copy the current immutable object by setting a value for theisSealedattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for isSealed- Returns:
- A modified copy of the
thisobject
-
withIsAbstract
Copy the current immutable object by setting a value for theisAbstractattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for isAbstract- Returns:
- A modified copy of the
thisobject
-
withParameters
Copy the current immutable object by setting a value for theparametersattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for parameters- Returns:
- A modified copy of the
thisobject
-
withExceptions
Copy the current immutable object by setting a value for theexceptionsattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for exceptions- Returns:
- A modified copy of the
thisobject
-
withConfigs
Copy the current immutable object by setting a value for theconfigsattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for configs- Returns:
- A modified copy of the
thisobject
-