Class ItemInfoImpl
java.lang.Object
ru.vyarus.dropwizard.guice.module.context.info.impl.ItemInfoImpl
- All Implemented Interfaces:
ItemInfo
- Direct Known Subclasses:
ClassItemInfoImpl,InstanceItemInfoImpl
Item info implementation.
- Since:
- 06.07.2016
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanIndicates complete initialization (useful for extensions - installer might be not set). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcountRegistrationAttempt(ItemId scope) Record item registration.getId()Items could be registered by class and by instance.intgetIgnoresByScope(Class<?> scope) Shortcut forItemInfo.getIgnoresByScope(ItemId).intgetIgnoresByScope(ItemId scope) Required to show ignored items in the same scope as actual registration.Configuration items may be registered by root application class, classpath scan or guicey bundle.intIt may be 0 for disabled items (e.g. installer disabled but never registered).Item may be registered multiple times.It is essentially the same asItemInfo.getRegistrationScope(), but with generified guicey bundle scope.Class<?>getType()booleanFor example, item for extension might be registered before recognition with installer, and it is important to wait for installer before applying disable predicates (which potentially may rely on installer).booleanUseful to recognize not registered info items appeared for example because of item disabling.booleantoString()
-
Field Details
-
complete
protected boolean completeIndicates complete initialization (useful for extensions - installer might be not set).
-
-
Constructor Details
-
ItemInfoImpl
Create item.- Parameters:
itemType- item typeid- item id
-
-
Method Details
-
getId
Description copied from interface:ItemInfoItems could be registered by class and by instance. In case of instance registration, multiple instances could be provided with the same class. For class registrations item id is equal to pure class. -
getItemType
- Specified by:
getItemTypein interfaceItemInfo- Returns:
- configuration item type (e.g. installer, bundle, extension etc)
-
getType
-
getRegisteredBy
Description copied from interface:ItemInfoConfiguration items may be registered by root application class, classpath scan or guicey bundle. For registrations in application classApplicationis stored as context. For registration by classpath scanClasspathScanneris stored as context. For registrations byGuiceyBundle, actual bundle class is stored as context. Bundle items may also haveGuiceyBundleLookupas context classe for bundles resolved by lookup mechanism.May not contain elements if item was never registered, but for example, disabled.
To quick check if exact scope class is present use
ItemId.from(class), which will match any class instance related scope key.- Specified by:
getRegisteredByin interfaceItemInfo- Returns:
- context classes which register item or empty collection
- See Also:
-
getRegistrationAttempts
public int getRegistrationAttempts()Description copied from interface:ItemInfoIt may be 0 for disabled items (e.g. installer disabled but never registered). Also, count may be greater than registration sources count, because the same source could register item multiple times.- Specified by:
getRegistrationAttemptsin interfaceItemInfo- Returns:
- count of item registrations
-
isRegistered
public boolean isRegistered()Description copied from interface:ItemInfoUseful to recognize not registered info items appeared for example because of item disabling.- Specified by:
isRegisteredin interfaceItemInfo- Returns:
- true if item was registered, false otherwise
-
isRegisteredDirectly
public boolean isRegisteredDirectly()- Specified by:
isRegisteredDirectlyin interfaceItemInfo- Returns:
- true if item directly registered through
GuiceBundle.Builder, false otherwise.
-
getRegistrationScope
Description copied from interface:ItemInfoItem may be registered multiple times. For class items (e.g. extension) only first scope will be actual registration scope (and registrations from other scopes will be simply ignored). For instance items (bundle, module), different objects of the same type will be registered according toDuplicateConfigDetector).May be null for never registered but disabled items!
- Specified by:
getRegistrationScopein interfaceItemInfo- Returns:
- registration scope
- See Also:
-
getRegistrationScopeType
Description copied from interface:ItemInfoIt is essentially the same asItemInfo.getRegistrationScope(), but with generified guicey bundle scope. May be useful for generic reporting.- Specified by:
getRegistrationScopeTypein interfaceItemInfo- Returns:
- type of registration scope
-
getIgnoresByScope
Description copied from interface:ItemInfoRequired to show ignored items in the same scope as actual registration.When checked bundles by class only item (
ItemId.from(Bundle.class)) it wil return sum of registrations for all instances of type.- Specified by:
getIgnoresByScopein interfaceItemInfo- Parameters:
scope- scope- Returns:
- number of ignored items in scope
-
getIgnoresByScope
Description copied from interface:ItemInfoShortcut forItemInfo.getIgnoresByScope(ItemId).- Specified by:
getIgnoresByScopein interfaceItemInfo- Parameters:
scope- scope type to check ignores- Returns:
- number of ignored items in all scopes of specified type
-
isAllDataCollected
public boolean isAllDataCollected()Description copied from interface:ItemInfoFor example, item for extension might be registered before recognition with installer, and it is important to wait for installer before applying disable predicates (which potentially may rely on installer).- Specified by:
isAllDataCollectedin interfaceItemInfo- Returns:
- true if item completely initialized (all related data provided)
-
countRegistrationAttempt
Record item registration.- Parameters:
scope- registration scope
-
toString
-